diff --git a/Libraries/LibC/string.cpp b/Libraries/LibC/string.cpp index fb86b67634..4e8ac17574 100644 --- a/Libraries/LibC/string.cpp +++ b/Libraries/LibC/string.cpp @@ -55,6 +55,14 @@ size_t strlen(const char* str) return len; } +size_t strnlen(const char* str, size_t maxlen) +{ + size_t len = 0; + for (; len < maxlen && *str; str++) + len++; + return len; +} + char* strdup(const char* str) { size_t len = strlen(str); diff --git a/Libraries/LibC/string.h b/Libraries/LibC/string.h index 24896a6729..e8cec233df 100644 --- a/Libraries/LibC/string.h +++ b/Libraries/LibC/string.h @@ -6,6 +6,7 @@ __BEGIN_DECLS size_t strlen(const char*); +size_t strnlen(const char*, size_t maxlen); int strcmp(const char*, const char*); int strncmp(const char*, const char*, size_t); int strcasecmp(const char*, const char*);