xref: /haiku/src/system/libroot/posix/string/strstr.c (revision f73283cf6a5da7586abd0440a65ec6f03a5476c8)
15af32e75SAxel Dörfler /*
2*f73283cfSStephan Aßmus  * Taken from Wikipedia, which declared it as "public domain".
35af32e75SAxel Dörfler  */
45af32e75SAxel Dörfler 
55af32e75SAxel Dörfler #include <sys/types.h>
65af32e75SAxel Dörfler #include <string.h>
75af32e75SAxel Dörfler 
85af32e75SAxel Dörfler 
95af32e75SAxel Dörfler char *
strstr(const char * s1,const char * s2)10*f73283cfSStephan Aßmus strstr(const char *s1, const char *s2)
115af32e75SAxel Dörfler {
12*f73283cfSStephan Aßmus     size_t s2len;
13*f73283cfSStephan Aßmus     /* Check for the null s2 case. */
14*f73283cfSStephan Aßmus     if (*s2 == '\0')
155af32e75SAxel Dörfler         return (char *) s1;
16*f73283cfSStephan Aßmus     s2len = strlen(s2);
17*f73283cfSStephan Aßmus     for (; (s1 = strchr(s1, *s2)) != NULL; s1++) {
18*f73283cfSStephan Aßmus         if (strncmp(s1, s2, s2len) == 0)
195af32e75SAxel Dörfler             return (char *)s1;
205af32e75SAxel Dörfler     }
215af32e75SAxel Dörfler     return NULL;
225af32e75SAxel Dörfler }
23*f73283cfSStephan Aßmus 
24