aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2019-08-13 11:27:06 +0000
committerJoseph Myers <joseph@codesourcery.com>2019-08-13 11:27:06 +0000
commita8c2fa984a42b43be06898a09a59a660131f91cd (patch)
tree9531479b04c17b57030b04b3efc71575b14f9ffb
parent777d75fbc07b98115f4868c3290eb8a5d1f3a5b2 (diff)
downloadglibc-a8c2fa984a42b43be06898a09a59a660131f91cd.tar
glibc-a8c2fa984a42b43be06898a09a59a660131f91cd.tar.gz
glibc-a8c2fa984a42b43be06898a09a59a660131f91cd.tar.bz2
glibc-a8c2fa984a42b43be06898a09a59a660131f91cd.zip
Declare memccpy, strdup, strndup for C2X.
C2X adds the memccpy, strdup and strndup functions. This patch duly adds __GLIBC_USE (ISOC2X) to the conditions under which <string.h> declares them. Tested for x86_64. * string/string.h (memccpy): Also declare if [__GLIBC_USE (ISOC2X)]. (strdup): Likewise. (strndup): Likewise.
-rw-r--r--ChangeLog4
-rw-r--r--string/string.h6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9263294b07..7bf0821242 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2019-08-13 Joseph Myers <joseph@codesourcery.com>
+ * string/string.h (memccpy): Also declare if [__GLIBC_USE (ISOC2X)].
+ (strdup): Likewise.
+ (strndup): Likewise.
+
* include/features.h (_ISOC2X_SOURCE): New feature test macro.
Undefine and define to 1 if [_GNU_SOURCE].
(__GLIBC_USE_ISOC2X): New macro. Undefine and redefine depending
diff --git a/string/string.h b/string/string.h
index c38eea971f..f51a9e2270 100644
--- a/string/string.h
+++ b/string/string.h
@@ -49,7 +49,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)
/* Copy no more than N bytes of SRC to DEST, stopping when C is found.
Return the position in DEST one byte past where C was copied,
or NULL if C was not found in the first N bytes of SRC. */
-#if defined __USE_MISC || defined __USE_XOPEN
+#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)
extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
int __c, size_t __n)
__THROW __nonnull ((1, 2));
@@ -161,7 +161,7 @@ extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
#endif
#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \
- || __GLIBC_USE (LIB_EXT2))
+ || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X))
/* Duplicate S, returning an identical malloc'd string. */
extern char *strdup (const char *__s)
__THROW __attribute_malloc__ __nonnull ((1));
@@ -170,7 +170,7 @@ extern char *strdup (const char *__s)
/* Return a malloc'd copy of at most N bytes of STRING. The
resultant string is terminated even if no null terminator
appears before STRING[N]. */
-#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)
+#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)
extern char *strndup (const char *__string, size_t __n)
__THROW __attribute_malloc__ __nonnull ((1));
#endif