Subversion Repositories SvarDOS

Compare Revisions

Ignore whitespace Rev 1544 → Rev 1543

/sved/trunk/sved.c
161,18 → 161,20
 
static void ui_getstring(const char *query, char *s, unsigned short maxlen) {
unsigned short len = 0;
unsigned char x;
unsigned char y, x;
int k;
 
if (maxlen == 0) return;
maxlen--; /* make room for the nul terminator */
 
y = screenlastrow;
 
/* print query string */
x = mdr_cout_str(screenlastrow, 0, query, SCHEME_STBAR3, 40);
mdr_cout_char_rep(screenlastrow, x++, ' ', SCHEME_STBAR3, screenw - x);
x = mdr_cout_str(y, 0, query, SCHEME_STBAR3, 40);
mdr_cout_char_rep(y, x++, ' ', SCHEME_STBAR3, screenw - x);
 
for (;;) {
mdr_cout_locate(screenlastrow, x + len);
mdr_cout_locate(y, x + len);
k = mdr_dos_getkey2();
 
switch (k) {
185,12 → 187,12
case 0x08: /* BKSPC */
if (len > 0) {
len--;
mdr_cout_char(screenlastrow, x + len, ' ', SCHEME_STBAR3);
mdr_cout_char(y, x + len, ' ', SCHEME_STBAR3);
}
break;
default:
if ((k <= 0xff) && (k >= ' ') && (len < maxlen)) {
mdr_cout_char(screenlastrow, x + len, k, SCHEME_STBAR3);
mdr_cout_char(y, x + len, k, SCHEME_STBAR3);
s[len++] = k;
}
}