rsc | fd04aac | 2003-11-23 18:12:54 +0000 | [diff] [blame^] | 1 | #include <u.h> |
2 | #include <libc.h> | ||||
3 | |||||
4 | char* | ||||
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 | } |