subsequent null termination both take the proper number of bytes when
using multibyte characters, so that multibyte prompt strings aren't
prematurely cut off
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2444
35c25a1d-7b9e-4130-9fde-
d3aeb78583b8
regexec_safe()
- Rename to safe_regexec() for consistency. (DLR)
- winio.c:
+ statusq()
+ - Make sure that the vsnprintf(foo) call and foo's subsequent
+ null termination both take the proper number of bytes when
+ using multibyte characters, so that multibyte prompt strings
+ aren't prematurely cut off. (DLR)
titlebar()
- Make sure that the (mv)?waddnstr() calls take the proper
number of bytes when using multibyte characters, so that
const char *msg, ...)
{
va_list ap;
- char *foo = charalloc(COLS - 3);
+ char *foo = charalloc(((COLS - 4) * mb_cur_max()) + 1);
int ret;
#ifndef DISABLE_TABCOMP
bool list = FALSE;
bottombars(s);
va_start(ap, msg);
- vsnprintf(foo, COLS - 4, msg, ap);
+ vsnprintf(foo, (COLS - 4) * mb_cur_max(), msg, ap);
va_end(ap);
- foo[COLS - 4] = '\0';
+ null_at(&foo, actual_x(foo, COLS - 4));
ret = nanogetstr(allow_tabs, foo, def,
#ifndef NANO_SMALL