svn commit: samba r18970 - in
branches/SAMBA_4_0/source/lib/replace: .
tridge at samba.org
tridge at samba.org
Thu Sep 28 06:43:28 GMT 2006
Author: tridge
Date: 2006-09-28 06:43:27 +0000 (Thu, 28 Sep 2006)
New Revision: 18970
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18970
Log:
avoid strndup and strnlen on AIX. They are quite broken. See
http://lists.samba.org/archive/samba-technical/2004-August/036915.html
Modified:
branches/SAMBA_4_0/source/lib/replace/libreplace_cc.m4
branches/SAMBA_4_0/source/lib/replace/replace.h
Changeset:
Modified: branches/SAMBA_4_0/source/lib/replace/libreplace_cc.m4
===================================================================
--- branches/SAMBA_4_0/source/lib/replace/libreplace_cc.m4 2006-09-28 03:21:49 UTC (rev 18969)
+++ branches/SAMBA_4_0/source/lib/replace/libreplace_cc.m4 2006-09-28 06:43:27 UTC (rev 18970)
@@ -66,6 +66,8 @@
fi
;;
*aix*)
+ AC_DEFINE(BROKEN_STRNDUP, 1, [Whether strndup is broken])
+ AC_DEFINE(BROKEN_STRNLEN, 1, [Whether strnlen is broken])
if test "${GCC}" != "yes"; then
## for funky AIX compiler using strncpy()
CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000"
Modified: branches/SAMBA_4_0/source/lib/replace/replace.h
===================================================================
--- branches/SAMBA_4_0/source/lib/replace/replace.h 2006-09-28 03:21:49 UTC (rev 18969)
+++ branches/SAMBA_4_0/source/lib/replace/replace.h 2006-09-28 06:43:27 UTC (rev 18970)
@@ -121,12 +121,14 @@
size_t rep_strlcat(char *d, const char *s, size_t bufsize);
#endif
-#ifndef HAVE_STRNDUP
+#if (defined(BROKEN_STRNDUP) || !defined(HAVE_STRNDUP))
+#undef HAVE_STRNDUP
#define strndup rep_strndup
char *rep_strndup(const char *s, size_t n);
#endif
-#ifndef HAVE_STRNLEN
+#if (defined(BROKEN_STRNLEN) || !defined(HAVE_STRNLEN))
+#undef HAVE_STRNLEN
#define strnlen rep_strnlen
size_t rep_strnlen(const char *s, size_t n);
#endif
More information about the samba-cvs
mailing list