summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/platform.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/platform.h b/include/platform.h
index 1168a34..0b0fce1 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -451,7 +451,8 @@ typedef unsigned smalluint;
#endif
#if defined(__FreeBSD__)
-//# undef HAVE_MEMPCPY - not yet confirmed
+/* users say mempcpy is not present in FreeBSD 9.x */
+# undef HAVE_MEMPCPY
# undef HAVE_CLEARENV
# undef HAVE_FDATASYNC
# undef HAVE_MNTENT_H
@@ -517,6 +518,10 @@ extern char *stpcpy(char *p, const char *to_add) FAST_FUNC;
#ifndef HAVE_MEMPCPY
#include <string.h>
+/* In case we are wrong about !HAVE_MEMPCPY, and toolchain _does_ have
+ * mempcpy(), avoid colliding with it:
+ */
+#define mempcpy bb__mempcpy
static ALWAYS_INLINE void *mempcpy(void *dest, const void *src, size_t len)
{
return memcpy(dest, src, len) + len;