diff options
Diffstat (limited to 'src/lib9/cistrstr.c')
-rw-r--r-- | src/lib9/cistrstr.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/lib9/cistrstr.c b/src/lib9/cistrstr.c new file mode 100644 index 00000000..0a113226 --- /dev/null +++ b/src/lib9/cistrstr.c @@ -0,0 +1,23 @@ +#include <u.h> +#include <libc.h> + +char* +cistrstr(char *s, char *sub) +{ + int c, csub, n; + + csub = *sub; + if(csub == '\0') + return s; + if(csub >= 'A' && csub <= 'Z') + csub -= 'A' - 'a'; + sub++; + n = strlen(sub); + for(; c = *s; s++){ + if(c >= 'A' && c <= 'Z') + c -= 'A' - 'a'; + if(c == csub && cistrncmp(s+1, sub, n) == 0) + return s; + } + return nil; +} |