strtok.c 410 B

1234567891011121314151617181920212223242526
  1. /* $Id$ */
  2. extern char *strpbrk();
  3. char *
  4. strtok(string, separators)
  5. register char *string;
  6. char *separators;
  7. {
  8. register char *s1, *s2;
  9. static char *savestring;
  10. if (!string) string = savestring;
  11. if (!string) return 0;
  12. if (*(s1 = string + strspn(string, separators)) == '\0') {
  13. savestring = 0;
  14. return 0;
  15. }
  16. if (s2 = strpbrk(s1, separators)) {
  17. *s2++ = '\0';
  18. }
  19. savestring = s2;
  20. return s1;
  21. }