/* ---------------------------------------------------------------------------- * $Id$ * ---------------------------------------------------------------------------- * Public Domain C Library - http://pdclib.sourceforge.net * This code is Public Domain. Use, modify, and redistribute at will. * --------------------------------------------------------------------------*/ char * strtok( char * restrict src, const char * restrict seperators ) { static char * store = NULL; size_t token_length; if ( src != NULL ) { /* new string */ store = src; } if ( store == NULL ) { /* no old string, no new string, nothing to do */ return NULL; } src += strspn( src, seperators ); /* skipping leading seperators */ if ( strlen( src ) == 0 ) { /* no more to parse */ return ( store = NULL ); } token_length = strcspn( src, seperators ); if ( src[ token_length ] == '\0' ) { /* parsed to end of string */ store = NULL; return src; } src[ token_length ] = '\0'; store = src + token_length + 1; return src; }