X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstring%2Fstrstr.c;h=0649174838cc860db7eb086dff32bb81a94e2ab0;hb=6d861ac87491a207e4599c44b61d142f0a601c2d;hp=4d536a73c378201e33dfecd7033607d3bda45950;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/string/strstr.c b/src/string/strstr.c index 4d536a73..06491748 100644 --- a/src/string/strstr.c +++ b/src/string/strstr.c @@ -25,16 +25,6 @@ static char *fourbyte_strstr(const unsigned char *h, const unsigned char *n) return *h ? (char *)h-3 : 0; } -#if 0 -static char *naive_strstr(const char *h, const char *n) -{ - size_t i; - for (i=0; n[i] && h[i]; i++) - for ( ; n[i] != h[i]; h++, i=0); - return n[i] ? 0 : (char *)h; -} -#endif - #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) @@ -109,7 +99,7 @@ static char *twoway_strstr(const unsigned char *h, const unsigned char *n) if (z-h < l) { /* Fast estimate for MIN(l,63) */ size_t grow = l | 63; - const char *z2 = memchr(z, 0, grow); + const unsigned char *z2 = memchr(z, 0, grow); if (z2) { z = z2; if (z-h < l) return 0; @@ -156,11 +146,11 @@ char *strstr(const char *h, const char *n) h = strchr(h, *n); if (!h || !n[1]) return (char *)h; if (!h[1]) return 0; - if (!n[2]) return twobyte_strstr(h, n); + if (!n[2]) return twobyte_strstr((void *)h, (void *)n); if (!h[2]) return 0; - if (!n[3]) return threebyte_strstr(h, n); + if (!n[3]) return threebyte_strstr((void *)h, (void *)n); if (!h[3]) return 0; - if (!n[4]) return fourbyte_strstr(h, n); + if (!n[4]) return fourbyte_strstr((void *)h, (void *)n); - return twoway_strstr(h, n); + return twoway_strstr((void *)h, (void *)n); }