diff options
Diffstat (limited to 'lib/unistr/u8-mbsnlen.c')
-rw-r--r-- | lib/unistr/u8-mbsnlen.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/unistr/u8-mbsnlen.c b/lib/unistr/u8-mbsnlen.c index 9ddc42ea..ce13c387 100644 --- a/lib/unistr/u8-mbsnlen.c +++ b/lib/unistr/u8-mbsnlen.c @@ -1,5 +1,5 @@ /* Count characters in UTF-8 string. - Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2007. This program is free software: you can redistribute it and/or modify it @@ -33,7 +33,9 @@ u8_mbsnlen (const uint8_t *s, size_t n) characters++; if (count == -2) break; - if (count <= 0) + if (count < 0) + count = u8_mbtouc (&uc, s, n); + else if (count == 0) count = 1; s += count; n -= count; |