#define NULL 0
#define size_t int
#ifdef NO_STRTOK
char *
strpbrk(char *s, char *accept)
{
while (*s != '\0')
if (strchr(accept, *s) == NULL)
++s;
else
return (char *) s;
return NULL;
}
static char *olds = NULL;
char *
strtok(char *s, char *delim)
{
char *token;
if (s == NULL)
{
if (olds == NULL)
{
return NULL;
}
else
s = olds;
}
s += strspn(s, delim);
if (*s == '\0')
{
olds = NULL;
return NULL;
}
token = s;
s = strpbrk(token, delim);
if (s == NULL)
olds = NULL;
else
{
*s = '\0';
olds = s + 1;
}
return token;
}
#endif
#ifdef NO_STRSPN
size_t
strspn(char *s, char *accept)
{
register char *p;
register char *a;
register size_t count = 0;
for (p = s; *p != '\0'; ++p)
{
for (a = accept; *a != '\0'; ++a)
if (*p == *a)
break;
if (*a == '\0')
return count;
else
++count;
}
return count;
}
#endif NO_STRSPN