strtok_r parses the string s into tokens.  The first call to strtok_r should have s as its first argument. Subsequent calls should have the first argument set to NULL. Each call returns a pointer to the next token, or NULL when no more tokens are found.
If a token ends with a delimiter, this delimiting character is overwritten with a \0 and a pointer to the next character is saved for the next call to strtok_r. The delimiter string delim may be different for each call.
ptrptr is a user allocated char* pointer. It must be the same while parsing the same string.
Never use this function. Note that:
It modifies its first argument.
The identity of the delimiting character is lost.
It cannot be used on constant strings.
A token is a nonempty string of characters not occurring in the string delim, followed by \0 or by a character occurring in delim.