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