]> git.wh0rd.org Git - nano.git/commitdiff
in do_yesno(), add a missing assert, and use display_string() to display
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 21 Jun 2005 19:47:39 +0000 (19:47 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 21 Jun 2005 19:47:39 +0000 (19:47 +0000)
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

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2751 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/winio.c

index e2a724037795e7cd29814f1719d5b7b3224a5dd5..7657cd057edf2cb12eaac5f838d3d974188c6f52 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -324,6 +324,9 @@ CVS code -
          (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)
   total_redraw()
        - Simplify to call clearok(TRUE) and wrefresh() on edit, which
          updates the entire screen in fewer function calls. (DLR)
index 8683b06c0746301726682b949ccb075cee6341f9..15041d91c8fe34b4be70cfce9e373829a37049ad 100644 (file)
@@ -3606,6 +3606,9 @@ int do_yesno(bool all, const char *msg)
     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);
 
     /* yesstr, nostr, and allstr are strings of any length.  Each string
      * consists of all single-byte characters accepted as valid
@@ -3647,7 +3650,10 @@ int do_yesno(bool all, const char *msg)
     wattron(bottomwin, A_REVERSE);
 
     blank_statusbar();
-    mvwaddnstr(bottomwin, 0, 0, msg, COLS - 1);
+
+    expmsg = display_string(msg, 0, COLS - 1, FALSE);
+    mvwaddstr(bottomwin, 0, 0, msg);
+    free(expmsg);
 
     wattroff(bottomwin, A_REVERSE);