1#include <string.h> 2 3char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p) 4{ 5 if (!s && !(s = *p)) return NULL; 6 s += strspn(s, sep); 7 if (!*s) return *p = 0; 8 *p = s + strcspn(s, sep); 9 if (**p) *(*p)++ = 0; 10 else *p = 0; 11 return s; 12} 13