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ßmusstrstr(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