summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/ldb/replace/replace.c2
-rw-r--r--source4/lib/replace/replace.c18
2 files changed, 18 insertions, 2 deletions
diff --git a/source4/lib/ldb/replace/replace.c b/source4/lib/ldb/replace/replace.c
index faa5771a76..a63613fc10 100644
--- a/source4/lib/ldb/replace/replace.c
+++ b/source4/lib/ldb/replace/replace.c
@@ -23,7 +23,7 @@
#include "includes.h"
#include "ldb/include/includes.h"
-#ifndef HAVE_STRNLEN
+#if !defined(HAVE_STRNLEN) && !defined(_SAMBA_BUILD_)
/**
Some platforms don't have strnlen
**/
diff --git a/source4/lib/replace/replace.c b/source4/lib/replace/replace.c
index b8f4bc1c3c..4048fe558e 100644
--- a/source4/lib/replace/replace.c
+++ b/source4/lib/replace/replace.c
@@ -367,7 +367,23 @@ duplicate a string
#endif /* HAVE_SYSLOG */
#endif /* HAVE_VSYSLOG */
-
+#ifndef HAVE_STRNLEN
+/**
+ Some platforms don't have strnlen
+**/
+ size_t strnlen(const char *s, size_t max)
+{
+ size_t len;
+
+ for (len = 0; len < max; len++) {
+ if (s[len] == '\0') {
+ break;
+ }
+ }
+ return len;
+}
+#endif
+
#ifndef HAVE_STRNDUP
/**
Some platforms don't have strndup.