Implement strstr.
[monolithium.git] / kernel / src / common.c
index fb10350a8382b50246af86d6dfb429b76ae150e4..47af9ae88276ff7041a15911374220062ba844c9 100644 (file)
@@ -431,6 +431,30 @@ int strncmp(const char *str1, const char *str2, int length)
     return 0;
 }
 
+char *strstr(const char *haystack, const char *needle)
+{
+    while (*haystack)
+    {
+        const char *s1 = haystack;
+        const char *s2 = needle;
+        bool_t found = TRUE;
+
+        while (*s2)
+        {
+            if (*s1++ != *s2++)
+            {
+                found = FALSE;
+                break;
+            }
+        }
+
+        if (found) return (char*)haystack;
+        haystack++;
+    }
+
+    return NULL;
+}
+
 char *strchr(const char *str, char c)
 {
     while ((*str != 0) && (*str != c)) str++;