#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;
}
