diff --git a/exec/load/sbbsdefs.js b/exec/load/sbbsdefs.js index b2899e52ec0a1e48c9f1e750d7827081aa7b0ea9..98b854fa735f20db7ac558372115cb54f9f2d4e5 100644 --- a/exec/load/sbbsdefs.js +++ b/exec/load/sbbsdefs.js @@ -185,7 +185,7 @@ var K_ANSI_CPR =(1<<22); /* ANSI Cursor Position Report expected */ var K_TRIM =(1<<23); /* Trim white-space from both ends of str */ var K_CTRLKEYS =(1<<24); /* No control-key handling/eating in inkey()*/ var K_NUL =(1<<25); /* Return null instead of "" upon timeout */ -var K_CP437 =(1<<26); /* Translate (UTF-8) input to CP437 chars */ +var K_UTF8 =(1<<26); /* Don't translate UTF-8 input to CP437 */ /********************************************/ /********************************************/ diff --git a/src/sbbs3/inkey.cpp b/src/sbbs3/inkey.cpp index 204775075860fc981c1d46f1155916633d61e6b5..4f8b8c3e9ea8577c7e17af8d9612659a73e3b639 100644 --- a/src/sbbs3/inkey.cpp +++ b/src/sbbs3/inkey.cpp @@ -123,13 +123,13 @@ int sbbs_t::inkey(int mode, unsigned int timeout) } /* Translate (not control character) input into CP437 */ - if (mode & K_CP437) { + if (!(mode & K_UTF8)) { if ((ch & 0x80) && term_supports(UTF8)) { char utf8[UTF8_MAX_LEN] = { (char)ch }; - int len = utf8_decode_firstbyte(ch); + size_t len = utf8_decode_firstbyte(ch); if (len < 2 || len > sizeof(utf8)) return no_input; - for (int i = 1; i < len; ++i) { + for (size_t i = 1; i < len; ++i) { ch = kbincom(timeout); if (!(ch & 0x80) || (ch == NOINP)) break; diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h index fbef61e517ac194b5dcdf969681097ecebd2afe8..0a9d03fbbb2b62f47298e274ffb913f23be545f0 100644 --- a/src/sbbs3/sbbsdefs.h +++ b/src/sbbs3/sbbsdefs.h @@ -659,7 +659,7 @@ typedef enum { /* Values for xtrn_t.event */ #define K_TRIM (1<<23) /* Trimmed white-space */ #define K_CTRLKEYS (1<<24) /* No control-key handling/eating in inkey()*/ #define K_NUL (1<<25) /* Return NOINP on timeout instead of '\0' */ -#define K_CP437 (1<<26) /* Translate (UTF-8) input to CP437 chars */ +#define K_UTF8 (1<<26) /* Don't translate UTF-8 input into CP437 */ /* Bits in 'mode' for putmsg and printfile */ #define P_NONE 0 /* No mode flags */