36 lines
423 B
C
36 lines
423 B
C
|
/*
|
||
|
* public domain strtok_r()
|
||
|
*/
|
||
|
|
||
|
#include <string.h>
|
||
|
|
||
|
char* strtok_r( char* str, const char* delim, char** nextp )
|
||
|
{
|
||
|
char* ret;
|
||
|
|
||
|
if( str == NULL )
|
||
|
{
|
||
|
str = *nextp;
|
||
|
}
|
||
|
|
||
|
str += strspn( str, delim );
|
||
|
|
||
|
if( *str == '\0' )
|
||
|
{
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
ret = str;
|
||
|
|
||
|
str += strcspn( str, delim );
|
||
|
|
||
|
if( *str )
|
||
|
{
|
||
|
*str++ = '\0';
|
||
|
}
|
||
|
|
||
|
*nextp = str;
|
||
|
|
||
|
return ret;
|
||
|
}
|