strtok_r.c 389 B

123456789101112131415161718192021222324252627
  1. #include "portab.h"
  2. #include <string.h>
  3. #ifndef HAVE_STRTOK_R
  4. char *
  5. strtok_r(char *str, const char *delim, char **saveptr)
  6. {
  7. char *tmp;
  8. if (!str)
  9. str = *saveptr;
  10. str += strspn(str, delim);
  11. if (*str == 0)
  12. return NULL;
  13. tmp = str + strcspn(str, delim); /* get end of token */
  14. if (*tmp) { /* another delimiter */
  15. *tmp = 0;
  16. tmp++;
  17. }
  18. *saveptr = tmp;
  19. return str;
  20. }
  21. #endif