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