1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
unsigned int splitmem(char **v, char *s, char c) /*EXTRACT_INCL*/ { char **w=v; unsigned int n=1; if (w) *w++=s; while (*s) { ++s; if (s[-1] != c) continue; ++n; if (w==0) continue; *w++=s; s[-1]=0; } if (w) *w=0; return n; }