diff --git a/Userland/Libraries/LibC/string.cpp b/Userland/Libraries/LibC/string.cpp index c923c009c2..24716107b1 100644 --- a/Userland/Libraries/LibC/string.cpp +++ b/Userland/Libraries/LibC/string.cpp @@ -187,11 +187,23 @@ void* memmem(void const* haystack, size_t haystack_length, void const* needle, s char* strcpy(char* dest, char const* src) { char* original_dest = dest; - while ((*dest++ = *src++) != '\0') - ; + while ((*dest = *src) != '\0') { + dest++; + src++; + } return original_dest; } +// https://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html +char* stpcpy(char* dest, char const* src) +{ + while ((*dest = *src) != '\0') { + dest++; + src++; + } + return dest; +} + // https://pubs.opengroup.org/onlinepubs/9699919799/functions/strncpy.html char* strncpy(char* dest, char const* src, size_t n) { diff --git a/Userland/Libraries/LibC/string.h b/Userland/Libraries/LibC/string.h index 8a1b6b631c..824c2d7c28 100644 --- a/Userland/Libraries/LibC/string.h +++ b/Userland/Libraries/LibC/string.h @@ -37,6 +37,7 @@ __attribute__((malloc)) char* strdup(char const*); __attribute__((malloc)) char* strndup(char const*, size_t); char* strcpy(char* dest, char const* src); +char* stpcpy(char* dest, char const* src); char* strncpy(char* dest, char const* src, size_t); __attribute__((warn_unused_result)) size_t strlcpy(char* dest, char const* src, size_t);