Commit Diff


commit - cf17fb505480dcfaa879873f57ce4abc33d1b1e4
commit + 26d1daa6f274664daa3d6e43af396b140d68dcde
blob - c4fadfaa28b482fa49c0ec2ad4ed10fc194887fd
blob + 243695b10dbbf1c219d17235011b7e7500ca1117
--- rover.c
+++ rover.c
@@ -767,6 +767,7 @@ static void
 update_input(char *prompt, Color color)
 {
     int plen, ilen, maxlen;
+    wchar_t wbuf[COLS];
 
     plen = strlen(prompt);
     ilen = mbstowcs(NULL, INPUT, 0);
@@ -780,7 +781,8 @@ update_input(char *prompt, Color color)
     color_set(RVC_PROMPT, NULL);
     mvaddstr(LINES - 1, 0, prompt);
     color_set(color, NULL);
-    mvaddnstr(LINES - 1, plen, &INPUT[rover.edit_scroll], maxlen);
+    mbstowcs(wbuf, INPUT, COLS);
+    mvaddnwstr(LINES - 1, plen, &wbuf[rover.edit_scroll], maxlen);
     mvaddch(LINES - 1, plen + MIN(ilen - rover.edit_scroll, maxlen + 1), ' ');
     color_set(DEFAULT, NULL);
     if (rover.edit_scroll)