/* * edlib v1.1 Copyright 1989 Edwin Hoogerbeets * This code is freely redistributable as long as no charge other than * reasonable copying fees are levied for it. */ #define STRING_END '\0' #ifndef NULL #define NULL 0L #endif char *strtok(buf, separators) register char *buf, *separators; { register char *token, *end; /* Start and end of token. */ extern char *strpbrk(); static char *fromLastTime; if (token = buf ? buf : fromLastTime) { token += strspn(token, separators); /* Find token! */ if (*token == STRING_END) return(NULL); fromLastTime = ((end = strpbrk(token,separators)) ? &end[1] : NULL); *end = STRING_END; /* Cut it short! */ } return(token); }