![]() |
|
Message-ID: <2e7d5d0e2c03033ed41b3344bc7572e03fcc6b06.1752241620.git.alx@kernel.org> Date: Fri, 11 Jul 2025 15:47:45 +0200 From: Alejandro Colomar <alx@...nel.org> To: musl@...ts.openwall.com Cc: Alejandro Colomar <alx@...nel.org> Subject: [PATCH v1] string.h: Unconditionally expose C23 functions memccpy(3), strnlen(3), strdup(3), and strndup(3) are now specified by ISO C, since C23. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf> Signed-off-by: Alejandro Colomar <alx@...nel.org> --- include/string.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/include/string.h b/include/string.h index 83e2b946..723cfc42 100644 --- a/include/string.h +++ b/include/string.h @@ -26,6 +26,7 @@ extern "C" { void *memcpy (void *__restrict, const void *__restrict, size_t); void *memmove (void *, const void *, size_t); +void *memccpy (void *__restrict, const void *__restrict, int, size_t); void *memset (void *, int, size_t); int memcmp (const void *, const void *, size_t); void *memchr (const void *, int, size_t); @@ -36,6 +37,9 @@ char *strncpy (char *__restrict, const char *__restrict, size_t); char *strcat (char *__restrict, const char *__restrict); char *strncat (char *__restrict, const char *__restrict, size_t); +char *strdup (const char *); +char *strndup (const char *, size_t); + int strcmp (const char *, const char *); int strncmp (const char *, const char *, size_t); @@ -52,6 +56,7 @@ char *strstr (const char *, const char *); char *strtok (char *__restrict, const char *__restrict); size_t strlen (const char *); +size_t strnlen (const char *, size_t); char *strerror (int); @@ -66,9 +71,6 @@ char *strtok_r (char *__restrict, const char *__restrict, char **__restrict); int strerror_r (int, char *, size_t); char *stpcpy(char *__restrict, const char *__restrict); char *stpncpy(char *__restrict, const char *__restrict, size_t); -size_t strnlen (const char *, size_t); -char *strdup (const char *); -char *strndup (const char *, size_t); char *strsignal(int); char *strerror_l (int, locale_t); int strcoll_l (const char *, const char *, locale_t); @@ -76,11 +78,6 @@ size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t); void *memmem(const void *, size_t, const void *, size_t); #endif -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ - || defined(_BSD_SOURCE) -void *memccpy (void *__restrict, const void *__restrict, int, size_t); -#endif - #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) char *strsep(char **, const char *); size_t strlcat (char *, const char *, size_t); -- 2.50.0
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.