diff --git a/win/curses/cursdial.c b/win/curses/cursdial.c index 53918aa59..1161f16c8 100644 --- a/win/curses/cursdial.c +++ b/win/curses/cursdial.c @@ -297,7 +297,7 @@ curses_character_input_dialog( #ifdef PDCURSES answer = wgetch(message_window); #else - answer = getch(); + answer = curses_read_char(); #endif if (answer == ERR) { answer = def; @@ -1487,7 +1487,7 @@ menu_get_selections(WINDOW *win, nhmenu *menu, int how) menu_display_page(menu, win, curpage, selectors, groupaccels); while (!dismiss) { - curletter = getch(); + curletter = curses_read_char(); if (curletter == ERR) { num_selected = -1; diff --git a/win/curses/cursmain.c b/win/curses/cursmain.c index 4c5595507..72979d5b2 100644 --- a/win/curses/cursmain.c +++ b/win/curses/cursmain.c @@ -1024,7 +1024,7 @@ void curses_delay_output(void) { #ifdef TIMED_DELAY - if (flags.nap) { + if (flags.nap && !iflags.debug_fuzzer) { /* refreshing the whole display is a waste of time, * but that's why we're here */ refresh(); diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index 70f30ecbf..49b3e4703 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -226,7 +226,10 @@ curses_block(boolean noscroll) /* noscroll - blocking because of msgtype oldcrsr = curs_set(1); do { - ret = wgetch(win); + if (iflags.debug_fuzzer) + ret = '\n'; + else + ret = curses_read_char(); if (ret == ERR || ret == '\0') ret = '\n'; /* msgtype=stop should require space/enter rather than any key, @@ -629,7 +632,7 @@ curses_message_win_getline(const char *prompt, char *answer, int buffer) #ifdef PDCURSES ch = wgetch(win); #else - ch = getch(); + ch = curses_read_char(); #endif curs_set(0); diff --git a/win/curses/cursmisc.c b/win/curses/cursmisc.c index 1780a8f76..d0b4adde5 100644 --- a/win/curses/cursmisc.c +++ b/win/curses/cursmisc.c @@ -39,7 +39,10 @@ curses_read_char(void) /* cancel message suppression; all messages have had a chance to be read */ curses_got_input(); - ch = getch(); + if (iflags.debug_fuzzer) + ch = randomkey(); + else + ch = getch(); #if defined(ALT_0) || defined(ALT_9) || defined(ALT_A) || defined(ALT_Z) tmpch = ch; #endif