fix the multibyte equivalent of strnlen() so that it actually works
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2260 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
родитель
5508cc5b0a
Коммит
8f2906ba61
@ -144,7 +144,7 @@ size_t nstrnlen(const char *s, size_t maxlen)
|
||||
size_t mbstrnlen(const char *s, size_t maxlen)
|
||||
{
|
||||
#ifdef NANO_WIDE
|
||||
if (ISSET(NO_UTF8)) {
|
||||
if (!ISSET(NO_UTF8)) {
|
||||
size_t n = 0;
|
||||
char *s_mb = charalloc(mb_cur_max());
|
||||
int s_mb_len;
|
||||
@ -158,6 +158,9 @@ size_t mbstrnlen(const char *s, size_t maxlen)
|
||||
#endif
|
||||
, NULL);
|
||||
|
||||
if (s_mb_len > maxlen)
|
||||
s_mb_len = maxlen;
|
||||
|
||||
maxlen -= s_mb_len;
|
||||
n += s_mb_len;
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user