diff --git a/include/wincurs.h b/include/wincurs.h index 580ad3adf..34a326e37 100644 --- a/include/wincurs.h +++ b/include/wincurs.h @@ -151,6 +151,7 @@ extern boolean curses_map_borders(int *sx, int *sy, int *ex, int *ey, /* cursmisc.c */ +extern int curses_getch(void); extern int curses_read_char(void); extern void curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff); diff --git a/win/curses/cursdial.c b/win/curses/cursdial.c index 1161f16c8..bc3ef185e 100644 --- a/win/curses/cursdial.c +++ b/win/curses/cursdial.c @@ -1487,7 +1487,7 @@ menu_get_selections(WINDOW *win, nhmenu *menu, int how) menu_display_page(menu, win, curpage, selectors, groupaccels); while (!dismiss) { - curletter = curses_read_char(); + curletter = curses_getch(); if (curletter == ERR) { num_selected = -1; diff --git a/win/curses/cursmisc.c b/win/curses/cursmisc.c index d0b4adde5..1b53fa610 100644 --- a/win/curses/cursmisc.c +++ b/win/curses/cursmisc.c @@ -26,6 +26,18 @@ static int curs_y = -1; static int parse_escape_sequence(void); +int +curses_getch(void) +{ + int ch; + + if (iflags.debug_fuzzer) + ch = randomkey(); + else + ch = getch(); + return ch; +} + /* Read a character of input from the user */ int @@ -39,10 +51,7 @@ curses_read_char(void) /* cancel message suppression; all messages have had a chance to be read */ curses_got_input(); - if (iflags.debug_fuzzer) - ch = randomkey(); - else - ch = getch(); + ch = curses_getch(); #if defined(ALT_0) || defined(ALT_9) || defined(ALT_A) || defined(ALT_Z) tmpch = ch; #endif diff --git a/win/curses/cursmisc.h b/win/curses/cursmisc.h index 6f2c07149..e52d196ad 100644 --- a/win/curses/cursmisc.h +++ b/win/curses/cursmisc.h @@ -8,6 +8,7 @@ /* Global declarations */ +int curses_getch(void); int curses_read_char(void); void curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff); void curses_menu_color_attr(WINDOW *win, int color, int attr, int onoff);