From 4e1b03d45c4d6be9ad9615f63a1146c46a4136d7 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 30 Oct 2019 12:14:52 +1100 Subject: [PATCH] lib/libc/string0: Add simple implementations of strspn and strcspn. They are needed for littlefs. --- lib/libc/string0.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/libc/string0.c b/lib/libc/string0.c index c2f2abd0f..8c86bf65f 100644 --- a/lib/libc/string0.c +++ b/lib/libc/string0.c @@ -217,3 +217,19 @@ char *strstr(const char *haystack, const char *needle) return (char *) haystack; return 0; } + +size_t strspn(const char *s, const char *accept) { + const char *ss = s; + while (*s && strchr(accept, *s) != NULL) { + ++s; + } + return s - ss; +} + +size_t strcspn(const char *s, const char *reject) { + const char *ss = s; + while (*s && strchr(reject, *s) == NULL) { + ++s; + } + return s - ss; +}