From 2f71db945aff1cd8a1e843b1a87d404133f45c09 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Wed, 1 Feb 2023 16:40:14 -0800 Subject: [PATCH] trim_leading_blanks --- implementations/C/parser.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) 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;