13e12c5d1SDavid du Colombier #include <u.h> 23e12c5d1SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier #define N 256 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier char* strpbrk(char * cs,char * cb)6*7dd7cddfSDavid du Colombierstrpbrk(char *cs, char *cb) 73e12c5d1SDavid du Colombier { 83e12c5d1SDavid du Colombier char map[N]; 9*7dd7cddfSDavid du Colombier uchar *s=(uchar*)cs, *b=(uchar*)cb; 103e12c5d1SDavid du Colombier 113e12c5d1SDavid du Colombier memset(map, 0, N); 123e12c5d1SDavid du Colombier for(;;) { 133e12c5d1SDavid du Colombier map[*b] = 1; 143e12c5d1SDavid du Colombier if(*b++ == 0) 153e12c5d1SDavid du Colombier break; 163e12c5d1SDavid du Colombier } 173e12c5d1SDavid du Colombier while(map[*s++] == 0) 183e12c5d1SDavid du Colombier ; 193e12c5d1SDavid du Colombier if(*--s) 20*7dd7cddfSDavid du Colombier return (char*)s; 213e12c5d1SDavid du Colombier return 0; 223e12c5d1SDavid du Colombier } 23