cistrstr.c - 9base - revived minimalist port of Plan 9 userland to Unix
 (HTM) git clone git://git.suckless.org/9base
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       cistrstr.c (357B)
       ---
            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 }