| #include <string.h> | |
| char* strtok_r(char* restrict s, const char* restrict sep, char** restrict p) { | |
| if (!s && !(s = *p)) | |
| return NULL; | |
| s += strspn(s, sep); | |
| if (!*s) | |
| return *p = 0; | |
| *p = s + strcspn(s, sep); | |
| if (**p) | |
| *(*p)++ = 0; | |
| else | |
| *p = 0; | |
| return s; | |
| } |