Something went wrong. Try again.
Reactos
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970/****mbstok.c - Break string into tokens (MBCS)** Copyright (c) Microsoft Corporation. All rights reserved.**Purpose:* Break string into tokens (MBCS)********************************************************************************/#ifndef _MBCS #error This file should only be compiled with _MBCS defined#endif
#include <corecrt_internal.h>#include <corecrt_internal_mbstring.h>#include <locale.h>#include <stddef.h>#include <string.h>
/**** _mbstok - Break string into tokens (MBCS)**Purpose:* strtok considers the string to consist of a sequence of zero or more* text tokens separated by spans of one or more control chars. the first* call, with string specified, returns a pointer to the first char of the* first token, and will write a null char into string immediately* following the returned token. subsequent calls with zero for the first* argument (string) will work thru the string until no tokens remain. the* control string may be different from call to call. when no tokens remain* in string a nullptr pointer is returned. remember the control chars with a* bit map, one bit per ascii char. the null char is always a control char.** MBCS chars supported correctly.**Entry:* char *string = string to break into tokens.* char *sepset = set of characters to use as seperators**Exit:* returns pointer to token, or nullptr if no more tokens**Exceptions:* Input parameters are validated. Refer to the validation section of the function.********************************************************************************/
extern "C" unsigned char * __cdecl _mbstok_l( unsigned char* const string, unsigned char const* const sepset, _locale_t const locale ){ return _mbstok_s_l(string, sepset, &__acrt_getptd()->_mbstok_token, locale);}
extern "C" unsigned char * __cdecl _mbstok( unsigned char * string, const unsigned char * sepset ){ /* We call the deprecated _mbstok_l (and not _mbstok_s_l) so that we keep one * single nextoken in the single thread case, i.e. the nextoken declared as static * inside _mbstok_l */ _BEGIN_SECURE_CRT_DEPRECATION_DISABLE return _mbstok_l(string, sepset, nullptr); _END_SECURE_CRT_DEPRECATION_DISABLE}