From b3248e684cedf66239710a5f16a6b45294f183bc Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 16 Feb 2017 10:10:30 +0100 Subject: Check for existence of mempcpy If it doesn't exist, provide a definition based on memcpy. Signed-off-by: Ulf Hermann --- lib/ChangeLog | 5 +++++ lib/system.h | 5 +++++ lib/xstrndup.c | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/ChangeLog b/lib/ChangeLog index 6578ddba..fd63e039 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2017-02-15 Ulf Hermann + + * system.h: Provide mempcpy if it doesn't exist. + * xstrndup.c: Include system.h. + 2017-02-15 Ulf Hermann * crc32_file.c: Use _SC_PAGESIZE rather than _SC_PAGE_SIZE. diff --git a/lib/system.h b/lib/system.h index dde7c4a2..429b0c33 100644 --- a/lib/system.h +++ b/lib/system.h @@ -68,6 +68,11 @@ #define powerof2(x) (((x) & ((x) - 1)) == 0) #endif +#if !HAVE_DECL_MEMPCPY +#define mempcpy(dest, src, n) \ + ((void *) ((char *) memcpy (dest, src, n) + (size_t) n)) +#endif + /* A special gettext function we use if the strings are too short. */ #define sgettext(Str) \ ({ const char *__res = strrchr (gettext (Str), '|'); \ diff --git a/lib/xstrndup.c b/lib/xstrndup.c index d43e3b9e..a257aa9a 100644 --- a/lib/xstrndup.c +++ b/lib/xstrndup.c @@ -33,7 +33,7 @@ #include #include #include "libeu.h" - +#include "system.h" /* Return a newly allocated copy of STRING. */ char * -- cgit v1.2.1