/* ** stptok() -- public domain by Ray Gardner, modified by Bob Stout ** ** You pass this function a string to parse, a buffer to receive the ** "token" that gets scanned, the length of the buffer, and a string of ** "break" characters that stop the scan. It will copy the string into ** the buffer up to any of the break characters, or until the buffer is ** full, and will always leave the buffer null-terminated. It will ** return a pointer to the first non-breaking character after the one ** that stopped the scan. */ #include #include char *stptok(const char *s, char *tok, size_t toklen, char *brk) { char *lim, *b; if (!*s) return NULL; lim = tok + toklen - 1; while (*s && tok < lim) { for (b = brk; *b; b++) { if (*s == *b) { *tok = 0; return (char *) (s + 1); } } *tok++ = *s++; } *tok = 0; return (char *) s; } /*---------------------------------------------------------------------------*/ char *SkipSpace(char *pText) { char *pRes; pRes = pText; while (*pRes) { if ((*pRes != ' ') && (*pRes != '\t') && (*pRes != '\r')) { return pRes; } pRes++; } return NULL; }