1 #include <msvcrt/string.h>
2 #include <msvcrt/internal/tls.h>
4 wchar_t *wcstok(wchar_t *s, const wchar_t *ct)
9 PTHREADDATA ThreadData = GetThreadData();
11 if (s == NULL && (s = ThreadData->wlasttoken) == NULL)
15 * Skip (span) leading ctiters (s += strspn(s, ct), sort of).
20 for (spanp = ct; (sc = *spanp) != 0;spanp++) {
25 if (c == 0) { /* no non-ctiter characters */
26 ThreadData->wlasttoken = NULL;
32 * Scan token (scan for ctiters: s += strcspn(s, ct), sort of).
33 * Note that ct must have one NUL; we stop if we see that, too.
40 if ((sc = *spanp) == c) {
45 ThreadData->wlasttoken = s;