diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index d54249dcd..67986bbbb 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -133,11 +133,9 @@ curses_message_win_puts(const char *message, boolean recursed) } #ifdef WIN32 -#define RESP " \n\033\r" /* space, enter, esc, cr */ -#define TRANS " \n\033\n" /* translated return value */ +#define XTRA_RESP "\r" #else -#define RESP " \n\033" /* space, enter, esc */ -#define TRANS " \n\033" +#define XTRA_RESP "" #endif int @@ -147,9 +145,8 @@ curses_block(boolean noscroll) { int height, width, ret; WINDOW *win = curses_get_nhwin(MESSAGE_WIN); - char *resp = RESP; - char *trans = TRANS; - char *rp = (char *) 0; + char *resp = " \n\033" XTRA_RESP; /* space, enter, esc */ + curses_get_window_size(MESSAGE_WIN, &height, &width); curses_toggle_color_attr(win, MORECOLOR, NONE, ON); mvwprintw(win, my, mx, iflags.msg_is_alert ? "" : ">>"); @@ -161,9 +158,7 @@ curses_block(boolean noscroll) /* msgtype=stop should require space/enter rather than * just any key, as we want to prevent YASD from * riding direction keys. */ - while (!iflags.msg_is_alert && - (ret = wgetch(win)) && ((rp = index(resp,(char)ret)) == 0)) - ; + while (!iflags.msg_is_alert && (ret = wgetch(win)) && !index(resp,(char)ret)); if (iflags.msg_is_alert) curses_alert_main_borders(FALSE); if (height == 1) { @@ -176,8 +171,6 @@ curses_block(boolean noscroll) } wrefresh(win); } - if (rp) - ret = trans[(rp - resp)]; return ret; }