xref: /plan9/sys/src/libc/port/cistrstr.c (revision 80ee5cbfe36716af62da8896207e9763b8e3d760)
1 #include <u.h>
2 #include <libc.h>
3 
4 char*
cistrstr(char * s,char * sub)5 cistrstr(char *s, char *sub)
6 {
7 	int c, csub, n;
8 
9 	csub = *sub;
10 	if(csub == '\0')
11 		return s;
12 	if(csub >= 'A' && csub <= 'Z')
13 		csub -= 'A' - 'a';
14 	sub++;
15 	n = strlen(sub);
16 	for(; c = *s; s++){
17 		if(c >= 'A' && c <= 'Z')
18 			c -= 'A' - 'a';
19 		if(c == csub && cistrncmp(s+1, sub, n) == 0)
20 			return s;
21 	}
22 	return nil;
23 }
24