A function can be not thread-safe and still safe to use in single-threaded programs.
The point is that strtok is not a good choice even for single-threaded code.
Why isn't it a good choice exactly? Could you sum it up?