xref: /inferno-os/libkern/strstr.c (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth #include <lib9.h>
2*37da2899SCharles.Forsyth 
3*37da2899SCharles.Forsyth /*
4*37da2899SCharles.Forsyth  * Return pointer to first occurrence of s2 in s1,
5*37da2899SCharles.Forsyth  * 0 if none
6*37da2899SCharles.Forsyth  */
7*37da2899SCharles.Forsyth char*
strstr(char * s1,char * s2)8*37da2899SCharles.Forsyth strstr(char *s1, char *s2)
9*37da2899SCharles.Forsyth {
10*37da2899SCharles.Forsyth 	char *p;
11*37da2899SCharles.Forsyth 	int f, n;
12*37da2899SCharles.Forsyth 
13*37da2899SCharles.Forsyth 	f = s2[0];
14*37da2899SCharles.Forsyth 	if(f == 0)
15*37da2899SCharles.Forsyth 		return s1;
16*37da2899SCharles.Forsyth 	n = strlen(s2);
17*37da2899SCharles.Forsyth 	for(p=strchr(s1, f); p; p=strchr(p+1, f))
18*37da2899SCharles.Forsyth 		if(strncmp(p, s2, n) == 0)
19*37da2899SCharles.Forsyth 			return p;
20*37da2899SCharles.Forsyth 	return 0;
21*37da2899SCharles.Forsyth }
22