compat: fix strnstr
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 7 Oct 2015 17:38:25 +0000 (19:38 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 7 Oct 2015 17:39:48 +0000 (19:39 +0200)
need to wake up sometimes :/

compat/strnstr.c

index badf7d8..3e1f6d5 100644 (file)
 
 char * strnstr (const char *haystack, const char *needle, size_t len)
 {
+    if(!needle || !*needle)
+        return (char*)haystack;
+
     const size_t i = strlen(needle);
-    if( i < len )
+    if( len < i )
       return NULL;
     
     size_t count = len - i;
 
-    while(count)
+    do
     {
       if( memcmp(haystack, needle, i) )
         return (char*) haystack;
-      count--;
       haystack++;
     }
+    while(count--);
+
     return NULL;
 }