summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/configure.in2
-rw-r--r--source3/lib/util_str.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/source3/configure.in b/source3/configure.in
index d35e89c81f..4329665ba1 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1206,6 +1206,8 @@ if test "$enable_shared" = "yes"; then
fi
AC_DEFINE(STAT_ST_BLOCKSIZE,DEV_BSIZE,[The size of a block])
+ AC_DEFINE(BROKEN_STRNLEN,1,[Does strnlen work correctly])
+ AC_DEFINE(BROKEN_STRNDUP,1,[Does strndup work correctly])
;;
*hpux*) AC_DEFINE(HPUX,1,[Whether the host os is HPUX])
SHLIBEXT="sl"
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index 1083076edd..3e6de23e55 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -1502,7 +1502,7 @@ int fstr_sprintf(fstring s, const char *fmt, ...)
}
-#ifndef HAVE_STRNDUP
+#if !defined(HAVE_STRNDUP) || defined(BROKEN_STRNDUP)
/**
Some platforms don't have strndup.
**/
@@ -1522,7 +1522,7 @@ int fstr_sprintf(fstring s, const char *fmt, ...)
}
#endif
-#ifndef HAVE_STRNLEN
+#if !defined(HAVE_STRNLEN) || defined(BROKEN_STRNLEN)
/**
Some platforms don't have strnlen
**/