FYI,

Here's a much-reduced test case for the short-needle case:

    const char *needle = ".d.";
    const char *haystack = "..d.";
    const char* p = strstr (haystack, needle);
    ASSERT (p && p - haystack == 1);

Interestingly, it doesn't trigger a failure in glibc's
slightly different implementation.  Eric mentioned
privately that glibc does not yet have gnulib's commit
fffd5faca, and that affects periodicity detection.

Reply via email to