msvcrt: Make strtok and wcstok thread-safe by using the per-thread data.
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index db86437..2a48003 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -825,6 +825,27 @@
}
/*********************************************************************
+ * wcstok (MSVCRT.@)
+ */
+MSVCRT_wchar_t *MSVCRT_wcstok( MSVCRT_wchar_t *str, const MSVCRT_wchar_t *delim )
+{
+ thread_data_t *data = msvcrt_get_thread_data();
+ MSVCRT_wchar_t *ret;
+
+ if (!str)
+ if (!(str = data->wcstok_next)) return NULL;
+
+ while (*str && strchrW( delim, *str )) str++;
+ if (!*str) return NULL;
+ ret = str++;
+ while (*str && !strchrW( delim, *str )) str++;
+ if (*str) *str++ = 0;
+ data->wcstok_next = str;
+ return ret;
+}
+
+
+/*********************************************************************
* wctomb (MSVCRT.@)
*/
INT MSVCRT_wctomb( char *dst, MSVCRT_wchar_t ch )