Browse Source

LibC: Implement strchrnul()

Shannon Booth 5 years ago
parent
commit
a52b3e8f2a
2 changed files with 10 additions and 0 deletions
  1. 9 0
      Libraries/LibC/string.cpp
  2. 1 0
      Libraries/LibC/string.h

+ 9 - 0
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<char*>(str);
+    }
+}
+
 void* memchr(const void* ptr, int c, size_t size)
 {
     char ch = c;

+ 1 - 0
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);