From 7b3f6a5a507a59b613998ef9ad2f14252d993d42 Mon Sep 17 00:00:00 2001 From: Carlos Maiolino Date: Sat, 28 Feb 2026 12:48:48 +0100 Subject: add strnlen and isdigit helpers This is missing and will come in handy for path parsing. Signed-off-by: Carlos Maiolino --- src/include/toxic/string.h | 4 ++++ src/lib/string.c | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'src') diff --git a/src/include/toxic/string.h b/src/include/toxic/string.h index 69d8bd2..3cb4a30 100644 --- a/src/include/toxic/string.h +++ b/src/include/toxic/string.h @@ -3,7 +3,11 @@ #include +#define NULL ((void *)0) + +bool isdigit(char c); size_t strlen(const char *s); +size_t strnlen(const char *s, size_t maxlen); char *strcpy(char *restrict dst, const char *restrict src); void *memset(void *s, int c, size_t n); diff --git a/src/lib/string.c b/src/lib/string.c index e5b6972..365381b 100644 --- a/src/lib/string.c +++ b/src/lib/string.c @@ -1,4 +1,10 @@ #include +#include + +bool isdigit(char c) +{ + return c >= 48 && c <= 57; +} size_t strlen(const char *s) { @@ -10,6 +16,16 @@ size_t strlen(const char *s) return c; } +size_t strnlen(const char *s, size_t maxlen) +{ + size_t c = 0; + + while (c <= maxlen && s[c]) + c++; + + return c; +} + char *strcpy(char *restrict dst, const char *restrict src) { size_t pos = 0; -- cgit v1.2.3