cistrstr.c 342 B

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