| #include <wchar.h> | |
| wchar_t* wcstok(wchar_t* restrict s, | |
| const wchar_t* restrict sep, | |
| wchar_t** restrict p) { | |
| if (!s && !(s = *p)) | |
| return NULL; | |
| s += wcsspn(s, sep); | |
| if (!*s) | |
| return *p = 0; | |
| *p = s + wcscspn(s, sep); | |
| if (**p) | |
| *(*p)++ = 0; | |
| else | |
| *p = 0; | |
| return s; | |
| } |