From a52b3e8f2a47a6f074712dc2c4553f7b2af297cb Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Sat, 15 Feb 2020 10:58:36 +1300 Subject: [PATCH] LibC: Implement strchrnul() --- Libraries/LibC/string.cpp | 9 +++++++++ Libraries/LibC/string.h | 1 + 2 files changed, 10 insertions(+) diff --git a/Libraries/LibC/string.cpp b/Libraries/LibC/string.cpp index 0c22c6bc16..b894aaa25c 100644 --- a/Libraries/LibC/string.cpp +++ b/Libraries/LibC/string.cpp @@ -297,6 +297,15 @@ char* strchr(const char* str, int c) } } +char* strchrnul(const char* str, int c) +{ + char ch = c; + for (;; ++str) { + if (*str == ch || !*str) + return const_cast(str); + } +} + void* memchr(const void* ptr, int c, size_t size) { char ch = c; diff --git a/Libraries/LibC/string.h b/Libraries/LibC/string.h index 094a68f4b4..6e6fb6f457 100644 --- a/Libraries/LibC/string.h +++ b/Libraries/LibC/string.h @@ -49,6 +49,7 @@ char* strndup(const char*, size_t); char* strcpy(char* dest, const char* src); char* strncpy(char* dest, const char* src, size_t); char* strchr(const char*, int c); +char* strchrnul(const char*, int c); char* strstr(const char* haystack, const char* needle); char* strrchr(const char*, int c); char* strcat(char* dest, const char* src);