char *strpbrk(const char *s, const char *accept) { #if !CAM_DRYOS return _strpbrk(s, accept); #else const char *sc1,*sc2; for( sc1 = s; *sc1 != '\0'; ++sc1) { for( sc2 = accept; *sc2 != '\0'; ++sc2) { if (*sc1 == *sc2) return (char *) sc1; } } return (void*)0; #endif }
char *_strtok(char *str, const char *delim, char **saveptr) { char *token; if (str) *saveptr = str; token = *saveptr; if (!token) return NULL; token += _strspn(token, delim); *saveptr = _strpbrk(token, delim); if (*saveptr) *(*saveptr)++ = '\0'; return *token ? token : NULL; }