diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/chat.c | 2 | ||||
-rw-r--r-- | mbbsd/chess.c | 6 | ||||
-rw-r--r-- | mbbsd/io.c | 4 | ||||
-rw-r--r-- | mbbsd/talk.c | 5 |
4 files changed, 16 insertions, 1 deletions
diff --git a/mbbsd/chat.c b/mbbsd/chat.c index 27cd2d38..e165c71a 100644 --- a/mbbsd/chat.c +++ b/mbbsd/chat.c @@ -436,6 +436,8 @@ t_chat(void) #endif } continue; + case KEY_UNKNOWN: + continue; } if (ISNEWMAIL(currutmp)) { diff --git a/mbbsd/chess.c b/mbbsd/chess.c index c62b8b95..0a76e166 100644 --- a/mbbsd/chess.c +++ b/mbbsd/chess.c @@ -603,6 +603,9 @@ ChessPlayFuncMy(ChessInfo* info) case I_TIMEOUT: break; + case KEY_UNKNOWN: + break; + default: if (info->actions->process_key) { DO_WITHOUT_PEER(30, @@ -727,6 +730,9 @@ ChessPlayFuncHis(ChessInfo* info) case I_TIMEOUT: break; + case KEY_UNKNOWN: + break; + default: if (info->actions->process_key) { DO_WITHOUT_PEER(30, @@ -801,7 +801,7 @@ oldgetdata(int line, int col, const char *prompt, char *buf, int len, int echo) clen--; continue; } - if (!isprint(ch)) { + if (ch>=0x100 || !isprint(ch)) { continue; } if (clen >= len) { @@ -970,6 +970,8 @@ oldgetdata(int line, int col, const char *prompt, char *buf, int len, int echo) case KEY_END: currchar = clen; break; + case KEY_UNKNOWN: + break; default: if (isprint2(ch) && clen < len && x + clen < scr_cols) { #ifdef DBCSAWARE diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 096d9534..62ad4670 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -661,6 +661,9 @@ my_write2(void) done = 1; break; + case KEY_UNKNOWN: + break; + default: done = 1; tw = swater[(int)which]; @@ -1366,6 +1369,8 @@ do_talk(int fd) break; for (i = 0; i < datac; i++) do_talk_char(&itswin, data[i], flog); + } else if (ch == KEY_UNKNOWN) { + // skip } else { if (ch == Ctrl('C')) { if (im_leaving) |