diff --git a/implementations/C/parser.c b/implementations/C/parser.c index 324af8d..adb3b33 100644 --- a/implementations/C/parser.c +++ b/implementations/C/parser.c @@ -2,17 +2,30 @@ #include #include -const char *text = "hi there friend"; +const char *BLANKS = " \t"; +const char *TEXT = " hi there friend"; /* 01234567890123456789 - ^ ^ + ^ ^ */ +char * +trim_leading_blanks(char *str) +{ + size_t offset = strspn(str, BLANKS); + if (offset == strlen(str)) { + /* All blanks. */ + return NULL; + } + return str + offset; +} + int main(void) { - char *rest; + char *rest, *text; ptrdiff_t diff; + text = trim_leading_blanks((char *)TEXT); rest = strpbrk(text, " []"); while (NULL != rest) { diff = rest - text;