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 )