char *firsttok(const char *s,const char *delimiter)
{
const char *p;
const char *a;
for(p = s;*p != '\0';) {
for (a = delimiter;*a != '\0';++a) {
if (*p == *a)
break;
}
if (*p == *a)
p++;
else
break;
}
const char *start = p;
for(;*p!='\0';++p) {
for (a = delimiter;*a != '\0';++a) {
if (*p == *a) {
char *t;
if ((t = malloc(p-start+1)) == NULL)
return NULL;
strncpy(t,start,p-start);
t[p-start] = '\0';
return t;
}
}
}
return NULL;
}
{
const char *p;
const char *a;
for(p = s;*p != '\0';) {
for (a = delimiter;*a != '\0';++a) {
if (*p == *a)
break;
}
if (*p == *a)
p++;
else
break;
}
const char *start = p;
for(;*p!='\0';++p) {
for (a = delimiter;*a != '\0';++a) {
if (*p == *a) {
char *t;
if ((t = malloc(p-start+1)) == NULL)
return NULL;
strncpy(t,start,p-start);
t[p-start] = '\0';
return t;
}
}
}
return NULL;
}