NEWS.stable: log cherry-pick [e446f25]->[c092018] relocatable-shell: Update suggested...
[gnulib.git] / lib / unistr / u8-mbsnlen.c
index 9ddc42e..e21ae32 100644 (file)
@@ -1,5 +1,5 @@
 /* Count characters in UTF-8 string.
-   Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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;