clean string_memset code
[libc-test] / src / functional / string_memmem.c
index c01b971..608eadf 100644 (file)
@@ -4,11 +4,12 @@
 #include <string.h>
 #include "test.h"
 
-#define N(s, sub) { \
-       char *p = s; \
-       char *q = memmem(p, strlen(p), sub, strlen(sub)); \
+#define N(s, tail, sub) { \
+       char *p = s tail; \
+       char *q = memmem(p, strlen(s), sub, strlen(sub)); \
        if (q) \
-               t_error("memmem(%s,%s) returned str+%d, wanted 0\n", #s, #sub, q-p); \
+               t_error("memmem("#s" "#tail", %d, "#sub", %d) returned str+%d, wanted 0\n",\
+                       strlen(s), strlen(sub), q-p); \
 }
 
 #define T(s, sub, n) { \
 
 int main(void)
 {
-       N("", "a")
-       N("a", "aa")
-       N("a", "b")
-       N("aa", "ab")
-       N("aa", "aaa")
-       N("abba", "aba")
-       N("abc abc", "abcd")
-       N("0-1-2-3-4-5-6-7-8-9", "-3-4-56-7-8-")
-       N("0-1-2-3-4-5-6-7-8-9", "-3-4-5+6-7-8-")
-       N("_ _ _\xff_ _ _", "_\x7f_")
-       N("_ _ _\x7f_ _ _", "_\xff_")
+       N("","a", "a")
+       N("a","a", "aa")
+       N("a","b", "b")
+       N("aa","b", "ab")
+       N("aa","a", "aaa")
+       N("aba","b", "bab")
+       N("abba","b", "bab")
+       N("abba","ba", "aba")
+       N("abc abc","d", "abcd")
+       N("0-1-2-3-4-5-6-7-8-9","", "-3-4-56-7-8-")
+       N("0-1-2-3-4-5-6-7-8-9","", "-3-4-5+6-7-8-")
+       N("_ _ _\xff_ _ _","\x7f_", "_\x7f_")
+       N("_ _ _\x7f_ _ _","\xff_", "_\xff_")
 
        T("", "", 0)
        T("abcd", "", 0)
@@ -48,6 +51,9 @@ int main(void)
        T("abababa", "bababa", 1)
        T("abababab", "bababab", 1)
        T("ababababa", "babababa", 1)
+       T("abbababab", "bababa", 2)
+       T("abbababab", "ababab", 3)
+       T("abacabcabcab", "abcabcab", 4)
        T("nanabanabanana", "aba", 3)
        T("nanabanabanana", "ban", 4)
        T("nanabanabanana", "anab", 1)