nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 8f2906ba61d49e515ad6037613828bb38a235e81
parent 5508cc5b0ac67c3e7b1e9ed759e169e949d61c66
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Fri, 14 Jan 2005 04:38:48 +0000

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

Diffstat:
Msrc/chars.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/chars.c b/src/chars.c @@ -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;