xref: /reactos/sdk/lib/crt/string/strtok.c (revision c2c66aff)
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)9 char * 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