summaryrefslogtreecommitdiff
path: root/lib/mbsrchr.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-02-11 17:45:10 +0000
committerBruno Haible <bruno@clisp.org>2007-02-11 17:45:10 +0000
commit21cc2c8123603268d830a61fdb08d4b59881461f (patch)
treee10b8bf4cad796c34aada35e920d5d43d8738c14 /lib/mbsrchr.c
parent3d8b389010e79b7d1fa12e2cdafa073ecdbadee3 (diff)
downloadgnulib-21cc2c8123603268d830a61fdb08d4b59881461f.tar.gz
Fix bug.
Add tests.
Diffstat (limited to 'lib/mbsrchr.c')
-rw-r--r--lib/mbsrchr.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/mbsrchr.c b/lib/mbsrchr.c
index f3b2808451..9cc9ca8f0f 100644
--- a/lib/mbsrchr.c
+++ b/lib/mbsrchr.c
@@ -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;
}