1 /* Taken from Wine Staging msvcrt/string.c */ 2 3 #include <precomp.h> 4 #include <internal/wine/msvcrt.h> 5 6 /********************************************************************* 7 * strtok (MSVCRT.@) 8 */ strtok(char * str,const char * delim)9char * CDECL strtok( char *str, const char *delim ) 10 { 11 thread_data_t *data = msvcrt_get_thread_data(); 12 char *ret; 13 14 if (!str) 15 if (!(str = data->strtok_next)) return NULL; 16 17 while (*str && strchr( delim, *str )) str++; 18 if (!*str) return NULL; 19 ret = str++; 20 while (*str && !strchr( delim, *str )) str++; 21 if (*str) *str++ = 0; 22 data->strtok_next = str; 23 return ret; 24 } 25