(DLR)
do_yesno()
- Allow refreshing the screen via Ctrl-L, as Pico does. (DLR)
- - Add a missing assert, and use display_string() to display the
- prompt, so that we don't end it in the middle of a multibyte
- character if it's more than (COLS - 1) bytes long. (DLR)
+ - Add a missing assert, and use actual_x() to calculate the
+ number of characters buf takes up, in case it's UTF-8. (DLR)
total_redraw()
- Simplify to call clearok(TRUE) and wrefresh() on curscr, which
updates the entire screen in fewer function calls without
wattron(bottomwin, A_REVERSE);
blank_statusbar();
- mvwaddstr(bottomwin, 0, 0, buf);
+ mvwaddnstr(bottomwin, 0, 0, buf, actual_x(buf, COLS - 2));
waddch(bottomwin, ':');
if (COLS > 1)
const char *yesstr; /* String of yes characters accepted. */
const char *nostr; /* Same for no. */
const char *allstr; /* And all, surprise! */
- char *expmsg; /* Expanded version of msg. */
assert(msg != NULL);
wattron(bottomwin, A_REVERSE);
blank_statusbar();
-
- expmsg = display_string(msg, 0, COLS - 1, FALSE);
- mvwaddstr(bottomwin, 0, 0, msg);
- free(expmsg);
+ mvwaddnstr(bottomwin, 0, 0, msg, actual_x(msg, COLS - 1));
wattroff(bottomwin, A_REVERSE);