summaryrefslogtreecommitdiff
path: root/mbutil.c
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2011-11-23 19:19:03 -0500
committerChet Ramey <chet.ramey@case.edu>2011-11-23 19:19:03 -0500
commit518937ab89be812ccd45e9b8c1ce4ad721d35ef6 (patch)
treedea0b2f2ee49c3d169ea6a119010469444877004 /mbutil.c
parent603281bd9a333a5e8850ac78f00d2a964c3213de (diff)
downloadreadline-518937ab89be812ccd45e9b8c1ce4ad721d35ef6.tar.gz
Readline-5.2.014 importbaserock/genivi/baseline
Diffstat (limited to 'mbutil.c')
-rw-r--r--mbutil.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/mbutil.c b/mbutil.c
index 17dde53..974096e 100644
--- a/mbutil.c
+++ b/mbutil.c
@@ -77,7 +77,7 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
char *string;
int seed, count, find_non_zero;
{
- size_t tmp;
+ size_t tmp, len;
mbstate_t ps;
int point;
wchar_t wc;
@@ -98,7 +98,10 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
while (count > 0)
{
- tmp = mbrtowc (&wc, string+point, strlen(string + point), &ps);
+ len = strlen (string + point);
+ if (len == 0)
+ break;
+ tmp = mbrtowc (&wc, string+point, len, &ps);
if (MB_INVALIDCH ((size_t)tmp))
{
/* invalid bytes. asume a byte represents a character */