X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Ffunctional%2Fstring_memmem.c;h=608eadf0764123160f3ef30f1309d814fe05a00e;hb=4a6c166000502bf741e8f878746dadfa3135a4df;hp=c01b9719742be91558f41fe9b2f70471bf8f889a;hpb=cfa23cc1bd01f5c44d7746b8b1839f84d5e1b6eb;p=libc-test diff --git a/src/functional/string_memmem.c b/src/functional/string_memmem.c index c01b971..608eadf 100644 --- a/src/functional/string_memmem.c +++ b/src/functional/string_memmem.c @@ -4,11 +4,12 @@ #include #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) { \ @@ -22,17 +23,19 @@ 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)