strpbrk.c 280 B

12345678910111213141516171819202122
  1. #include <u.h>
  2. #include <libc.h>
  3. #define N 256
  4. char*
  5. strpbrk(char *cs, char *cb)
  6. {
  7. char map[N];
  8. uchar *s=(uchar*)cs, *b=(uchar*)cb;
  9. memset(map, 0, N);
  10. for(;;) {
  11. map[*b] = 1;
  12. if(*b++ == 0)
  13. break;
  14. }
  15. while(map[*s++] == 0)
  16. ;
  17. if(*--s)
  18. return (char*)s;
  19. return 0;
  20. }