1 #include <string.h> 2 strtok_r(char * restrict s,const char * restrict sep,char ** restrict p)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