ReactOS 0.4.16-dev-122-g325d74c
strtok_s.c File Reference
#include <precomp.h>
#include <internal/wine/msvcrt.h>
Include dependency graph for strtok_s.c:

Go to the source code of this file.

Functions

char *CDECL strtok_s (char *str, const char *delim, char **ctx)
 

Function Documentation

◆ strtok_s()

char *CDECL strtok_s ( char str,
const char delim,
char **  ctx 
)

Definition at line 9 of file strtok_s.c.

10{
11 if (!MSVCRT_CHECK_PMT(delim != NULL)) return NULL;
12 if (!MSVCRT_CHECK_PMT(ctx != NULL)) return NULL;
13 if (!MSVCRT_CHECK_PMT(str != NULL || *ctx != NULL)) return NULL;
14
15 if(!str)
16 str = *ctx;
17
18 while(*str && strchr(delim, *str))
19 str++;
20 if(!*str)
21 {
22 *ctx = str;
23 return NULL;
24 }
25
26 *ctx = str+1;
27 while(**ctx && !strchr(delim, **ctx))
28 (*ctx)++;
29 if(**ctx)
30 *(*ctx)++ = 0;
31
32 return str;
33}
char * strchr(const char *String, int ch)
Definition: utclib.c:501
#define NULL
Definition: types.h:112
#define MSVCRT_CHECK_PMT(x)
Definition: mbstowcs_s.c:26
const WCHAR * str