aboutsummaryrefslogtreecommitdiffstats
path: root/src/wchar
diff options
context:
space:
mode:
Diffstat (limited to 'src/wchar')
-rw-r--r--src/wchar/wcsspn.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/wchar/wcsspn.c b/src/wchar/wcsspn.c
index 239b863..63dc60b 100644
--- a/src/wchar/wcsspn.c
+++ b/src/wchar/wcsspn.c
@@ -53,12 +53,16 @@ size_t wcsspn(const wchar_t* string, const wchar_t* skipset)
*/
size_t wcscspn(const wchar_t* string, const wchar_t* stopset)
{
- size_t end = wcslen(string);
- wchar_t* p;
+ size_t i, end = wcslen(string);
+ wchar_t* s;
wchar_t c;
while ((c = *stopset++))
- if (p = wcsnchr(string, c, end), p != NULL)
- end = (size_t)(p - string);
+ for (i = 0, s = string; *s && (i < end); i++, s++)
+ if (*s == c)
+ {
+ end = (size_t)(s - string);
+ break;
+ }
return end;
}