diff options
Diffstat (limited to 'string/test-strcspn.c')
-rw-r--r-- | string/test-strcspn.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/string/test-strcspn.c b/string/test-strcspn.c index 0fd65cd988..b5631790b6 100644 --- a/string/test-strcspn.c +++ b/string/test-strcspn.c @@ -25,7 +25,9 @@ typedef size_t (*proto_t) (const char *, const char *); size_t simple_strcspn (const char *, const char *); +size_t stupid_strcspn (const char *, const char *); +IMPL (stupid_strcspn, 0) IMPL (simple_strcspn, 0) IMPL (strcspn, 1) @@ -34,7 +36,7 @@ simple_strcspn (const char *s, const char *rej) { const char *r, *str = s; char c; - + while ((c = *s++) != '\0') for (r = rej; *r != '\0'; ++r) if (*r == c) @@ -42,4 +44,17 @@ simple_strcspn (const char *s, const char *rej) return s - str - 1; } +size_t +stupid_strcspn (const char *s, const char *rej) +{ + size_t ns = strlen (s), nrej = strlen (rej); + size_t i, j; + + for (i = 0; i < ns; ++i) + for (j = 0; j < nrej; ++j) + if (s[i] == rej[j]) + return i; + return i; +} + #include "test-strpbrk.c" |