1*3e12c5d1SDavid du Colombier #include <u.h> 2*3e12c5d1SDavid du Colombier #include <libc.h> 3*3e12c5d1SDavid du Colombier 4*3e12c5d1SDavid du Colombier 5*3e12c5d1SDavid du Colombier /* 6*3e12c5d1SDavid du Colombier * Return pointer to first occurrence of s2 in s1, 7*3e12c5d1SDavid du Colombier * 0 if none 8*3e12c5d1SDavid du Colombier */ 9*3e12c5d1SDavid du Colombier char* 10*3e12c5d1SDavid du Colombier strstr(char *s1, char *s2) 11*3e12c5d1SDavid du Colombier { 12*3e12c5d1SDavid du Colombier char *p; 13*3e12c5d1SDavid du Colombier int f, n; 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier f = s2[0]; 16*3e12c5d1SDavid du Colombier if(f == 0) 17*3e12c5d1SDavid du Colombier return s1; 18*3e12c5d1SDavid du Colombier n = strlen(s2); 19*3e12c5d1SDavid du Colombier for(p=strchr(s1, f); p; p=strchr(p+1, f)) 20*3e12c5d1SDavid du Colombier if(strncmp(p, s2, n) == 0) 21*3e12c5d1SDavid du Colombier return p; 22*3e12c5d1SDavid du Colombier return 0; 23*3e12c5d1SDavid du Colombier } 24