1570af302Sopenharmony_ci#include <wchar.h> 2570af302Sopenharmony_ci 3570af302Sopenharmony_ciwchar_t *wcstok(wchar_t *restrict s, const wchar_t *restrict sep, wchar_t **restrict p) 4570af302Sopenharmony_ci{ 5570af302Sopenharmony_ci if (!s && !(s = *p)) return NULL; 6570af302Sopenharmony_ci s += wcsspn(s, sep); 7570af302Sopenharmony_ci if (!*s) return *p = 0; 8570af302Sopenharmony_ci *p = s + wcscspn(s, sep); 9570af302Sopenharmony_ci if (**p) *(*p)++ = 0; 10570af302Sopenharmony_ci else *p = 0; 11570af302Sopenharmony_ci return s; 12570af302Sopenharmony_ci} 13