Fix bug.
authorBruno Haible <bruno@clisp.org>
Sun, 11 Feb 2007 17:45:10 +0000 (17:45 +0000)
committerBruno Haible <bruno@clisp.org>
Sun, 11 Feb 2007 17:45:10 +0000 (17:45 +0000)
Add tests.

ChangeLog
lib/mbsrchr.c

index c521d86..633a054 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2007-02-11  Bruno Haible  <bruno@clisp.org>
 
+       * lib/mbsrchr.c (mbsrchr): Fix bug.
+
+       * modules/mbsrchr-tests: New file.
+       * tests/test-mbsrchr.sh: New file.
+       * tests/test-mbsrchr.c: New file.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
        * lib/mbschr.c (mbschr): Fix bug.
 
        * modules/mbschr-tests: New file.
index f3b2808..9cc9ca8 100644 (file)
@@ -40,13 +40,11 @@ mbsrchr (const char *string, int c)
       const char *result = NULL;
       mbui_iterator_t iter;
 
-      for (mbui_init (iter, string);; mbui_advance (iter))
+      for (mbui_init (iter, string); mbui_avail (iter); mbui_advance (iter))
        {
          if (mb_len (mbui_cur (iter)) == 1
              && (unsigned char) * mbui_cur_ptr (iter) == (unsigned char) c)
            result = mbui_cur_ptr (iter);
-         if (!mbui_avail (iter))
-           break;
        }
       return (char *) result;
     }