diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strstr.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/strstr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mdk-stage1/dietlibc/lib/strstr.c b/mdk-stage1/dietlibc/lib/strstr.c index 641d9d7ac..0632cc28a 100644 --- a/mdk-stage1/dietlibc/lib/strstr.c +++ b/mdk-stage1/dietlibc/lib/strstr.c @@ -2,12 +2,14 @@ #include <string.h> char *strstr(const char *haystack, const char *needle) { - int nl=strlen(needle); - int hl=strlen(haystack); + size_t nl=strlen(needle); + size_t hl=strlen(haystack); int i; + if (!nl) goto found; if (nl>hl) return 0; for (i=hl-nl+1; i; --i) { - if (!memcmp(haystack,needle,nl)) + if (*haystack==*needle && !memcmp(haystack,needle,nl)) +found: return (char*)haystack; ++haystack; } |