platform.h: add compat mempcpy
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 25 Jan 2015 21:08:46 +0000 (22:08 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 25 Jan 2015 21:08:46 +0000 (22:08 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
include/platform.h

index 09c7ccd9ca29fa64a8d250a1fd69143abe361d80..f006696951a237e67c3c258d1c1777e6e303eae9 100644 (file)
@@ -370,6 +370,7 @@ typedef unsigned smalluint;
 #define HAVE_SETBIT 1
 #define HAVE_SIGHANDLER_T 1
 #define HAVE_STPCPY 1
+#define HAVE_MEMPCPY 1
 #define HAVE_STRCASESTR 1
 #define HAVE_STRCHRNUL 1
 #define HAVE_STRSEP 1
@@ -450,6 +451,7 @@ typedef unsigned smalluint;
 #endif
 
 #if defined(__FreeBSD__)
+//# undef HAVE_MEMPCPY - not yet confirmed
 # undef HAVE_CLEARENV
 # undef HAVE_FDATASYNC
 # undef HAVE_MNTENT_H
@@ -513,6 +515,13 @@ typedef void (*sighandler_t)(int);
 extern char *stpcpy(char *p, const char *to_add) FAST_FUNC;
 #endif
 
+#ifndef HAVE_MEMPCPY
+static ALWAYS_INLINE void *mempcpy(void *dest, const void *src, size_t len)
+{
+       return memcpy(dest, src, len) + len;
+}
+#endif
+
 #ifndef HAVE_STRCASESTR
 extern char *strcasestr(const char *s, const char *pattern) FAST_FUNC;
 #endif