]> git.wh0rd.org Git - nano.git/commitdiff
oops; do_yesno() doesn't need display_string(); it only needs to use
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 21 Jun 2005 21:03:06 +0000 (21:03 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 21 Jun 2005 21:03:06 +0000 (21:03 +0000)
actual_x() to get the actual number of characters in buf when it calls
mvwaddnstr()

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

ChangeLog
src/winio.c

index 4efbe187b58b499947ba520b684cf3f6c38aa2d0..bb7621290787522dec8fc687163eec3dfce47f45 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -327,9 +327,8 @@ 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)
+       - 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
index 40f8666dbe157a1bbccc80ea803e37da9d3ef867..ea516fc2ca0b6a40607f6d2c565cc474a04ff24e 100644 (file)
@@ -2410,7 +2410,7 @@ void nanoget_repaint(const char *buf, const char *inputbuf, size_t x)
     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)
@@ -3607,7 +3607,6 @@ 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);
 
@@ -3651,10 +3650,7 @@ int do_yesno(bool all, const char *msg)
     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);