memcpy (a, b, 1000); // Redirects to memmove
memcpy (a, b, 1000); // Redirects to memmove
memmove(a, b, 1000);
-#if defined(VGO_solaris) || defined(VGO_darwin) || (defined(VGO_freebsd) && defined(__GNUC__))
- memcpy(a, b, 1000);
-#else
+#if defined(HAVE_MEMPCPY)
mempcpy(a, b, 1000);
+#else
+ memcpy(a, b, 1000);
#endif
bcopy (a, b, 1000); // Redirects to memmove
strcpy (a, b);
#include <string.h>
#include <strings.h>
#include <fcntl.h>
+#include "../../config.h"
#ifndef HAVE_GNU_LD
#define _sys_nerr sys_nerr
SIMPLE_COPY(stpcpy, 16, "6666666666666666", 59);
}
-// DDD: better done by testing for the function.
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if defined(HAVE_STPNCPY)
static void
test_stpncpy (void)
{
}
}
-// DDD: better done by testing for the function.
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if defined(HAVE_STRCHRNUL)
static void
test_strchrnul (void)
{
}
}
-// DDD: better done by testing for the function.
-#if !defined(__APPLE__) && !defined(__sun) && !defined(__FreeBSD__)
+#if defined(HAVE_MEMRCHR)
static void
test_memrchr (void)
{
}
}
-#if !defined(__APPLE__) && !defined(__sun) && !defined(__FreeBSD__)
+#if defined(HAVE_MEMPCPY)
static void
test_mempcpy (void)
{
equal(one, "abcdef", 4); /* Zero-length copy. */
}
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if defined(HAVE_STRNDUP)
static void
test_strndup (void)
{
/* A closely related function is stpcpy. */
test_stpcpy ();
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if defined(HAVE_STPNCPY)
/* stpncpy. */
test_stpncpy ();
#endif
/* strchr. */
test_strchr ();
-# if !defined(__APPLE__) && !defined(__FreeBSD__)
+# if defined(HAVE_STRCHRNUL)
/* strchrnul. */
test_strchrnul ();
# endif
/* strrchr. */
test_strrchr ();
-# if !defined(__APPLE__) && !defined(__sun) && !defined(__FreeBSD__)
+# if defined(HAVE_MEMRCHR)
/* memrchr. */
test_memrchr ();
# endif
/* memmove - must work on overlap. */
test_memmove ();
-# if !defined(__APPLE__) && !defined(__sun) && !defined(__FreeBSD__)
+# if defined(HAVE_MEMPCPY)
/* mempcpy */
test_mempcpy ();
# endif
/* bcmp - somewhat like memcmp. */
test_bcmp ();
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if defined(HAVE_STRNDUP)
/* strndup. */
test_strndup ();
#endif
STRNLEN(VG_Z_LIBC_SONAME, strnlen)
STRNLEN(VG_Z_LIBC_SONAME, __GI_strnlen)
+#elif defined(VGO_freebsd)
+
+ STRNLEN(VG_Z_LIBC_SONAME, srtnlen)
+
#elif defined(VGO_darwin)
# if DARWIN_VERS == DARWIN_10_9
STRNLEN(libsystemZucZddylib, strnlen)
STRCASECMP_L(VG_Z_LIBC_SONAME, __GI_strcasecmp_l)
STRCASECMP_L(VG_Z_LIBC_SONAME, __GI___strcasecmp_l)
+#elif defined(VGO_freebsd)
+ STRCASECMP_L(VG_Z_LIBC_SONAME, strcasecmp_l)
+
#elif defined(VGO_darwin)
//STRCASECMP_L(VG_Z_LIBC_SONAME, strcasecmp_l)
STRNCASECMP_L(VG_Z_LIBC_SONAME, __GI_strncasecmp_l)
STRNCASECMP_L(VG_Z_LIBC_SONAME, __GI___strncasecmp_l)
+#elif defined(VGO_freebsd)
+ STRNCASECMP_L(VG_Z_LIBC_SONAME, strncasecmp_l)
+
#elif defined(VGO_darwin)
//STRNCASECMP_L(VG_Z_LIBC_SONAME, strncasecmp_l)
//STRNCASECMP_L(VG_Z_DYLD, strncasecmp_l)
MEMCHR(VG_Z_LIBC_SONAME, memchr)
MEMCHR(VG_Z_LIBC_SONAME, __GI_memchr)
+#elif defined(VGO_freebsd)
+ MEMCHR(VG_Z_LIBC_SONAME, memchr)
+
#elif defined(VGO_darwin)
# if DARWIN_VERS == DARWIN_10_9
MEMCHR(VG_Z_DYLD, memchr)
GLIBC25_MEMPCPY(VG_Z_LD_LINUX_SO_3, mempcpy) /* ld-linux.so.3 */
GLIBC25_MEMPCPY(VG_Z_LD_LINUX_X86_64_SO_2, mempcpy) /* ld-linux-x86-64.so.2 */
+#elif defined(VGO_freebsd)
+ GLIBC25_MEMPCPY(VG_Z_LIBC_SONAME, mempcpy)
#elif defined(VGO_darwin)
//GLIBC25_MEMPCPY(VG_Z_LIBC_SONAME, mempcpy)