13e12c5d1SDavid du Colombier #include <string.h> 23e12c5d1SDavid du Colombier 33e12c5d1SDavid du Colombier #define N 256 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier size_t strspn(const char * s,const char * b)63e12c5d1SDavid du Colombierstrspn(const char *s, const char *b) 73e12c5d1SDavid du Colombier { 83e12c5d1SDavid du Colombier char map[N], *os; 93e12c5d1SDavid du Colombier 103e12c5d1SDavid du Colombier memset(map, 0, N); 113e12c5d1SDavid du Colombier while(*b) 123e12c5d1SDavid du Colombier map[*(unsigned char *)b++] = 1; 13*781103c4SDavid du Colombier os = (char *)s; 143e12c5d1SDavid du Colombier while(map[*(unsigned char *)s++]) 153e12c5d1SDavid du Colombier ; 163e12c5d1SDavid du Colombier return s - os - 1; 173e12c5d1SDavid du Colombier } 18