[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new module mbsspn
From: |
Bruno Haible |
Subject: |
Re: new module mbsspn |
Date: |
Sun, 11 Feb 2007 23:45:33 +0100 |
User-agent: |
KMail/1.5.4 |
This bug fix was necessary:
2007-02-11 Bruno Haible <address@hidden>
* lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
--- lib/mbsspn.c 5 Feb 2007 03:23:34 -0000 1.1
+++ lib/mbsspn.c 11 Feb 2007 22:36:25 -0000
@@ -47,8 +47,8 @@
for (mbui_init (iter, string); mbui_avail (iter); mbui_advance (iter))
if (!(mb_len (mbui_cur (iter)) == 1
&& (unsigned char) * mbui_cur_ptr (iter) == uc))
- return mbui_cur_ptr (iter) - string;
- return strlen (string);
+ break;
+ return mbui_cur_ptr (iter) - string;
}
else
#endif
@@ -71,25 +71,24 @@
{
if (mb_len (mbui_cur (iter)) == 1)
{
- if (mbschr (reject, (unsigned char) * mbui_cur_ptr (iter)) ==
NULL)
- return mbui_cur_ptr (iter) - string;
+ if (mbschr (reject, * mbui_cur_ptr (iter)) == NULL)
+ goto found;
}
else
{
mbui_iterator_t aiter;
- for (mbui_init (aiter, reject);
- mbui_avail (aiter);
- mbui_advance (aiter))
+ for (mbui_init (aiter, reject);; mbui_advance (aiter))
{
if (!mbui_avail (aiter))
- return mbui_cur_ptr (iter) - string;
+ goto found;
if (mb_equal (mbui_cur (aiter), mbui_cur (iter)))
break;
}
}
}
- return strlen (string);
+ found:
+ return mbui_cur_ptr (iter) - string;
}
else
#endif