Curses: enable debug fuzzer

This commit is contained in:
Pasi Kallinen
2022-09-22 13:10:13 +03:00
parent 82337beedd
commit fbb32ea7fa
4 changed files with 12 additions and 6 deletions

View File

@@ -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;

View File

@@ -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();

View File

@@ -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);

View File

@@ -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