summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog5
-rw-r--r--lib/system.h5
-rw-r--r--lib/xstrndup.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 6578ddba..fd63e039 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,10 @@
2017-02-15 Ulf Hermann <[email protected]>
+ * system.h: Provide mempcpy if it doesn't exist.
+ * xstrndup.c: Include system.h.
+
+2017-02-15 Ulf Hermann <[email protected]>
+
* crc32_file.c: Use _SC_PAGESIZE rather than _SC_PAGE_SIZE.
2017-02-14 Ulf Hermann <[email protected]>
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 <stdint.h>
#include <string.h>
#include "libeu.h"
-
+#include "system.h"
/* Return a newly allocated copy of STRING. */
char *