]> git.cworth.org Git - tar/blobdiff - m4/strnlen.m4
Merge branch 'dfsg-orig' into dfsg-debian
[tar] / m4 / strnlen.m4
index cd48948f68808f330642cc39e80734433704f421..52bb838f96b9eac3f2f782dbc6b1b918d85b5cdf 100644 (file)
@@ -1,4 +1,4 @@
-# strnlen.m4 serial 10
+# strnlen.m4 serial 12
 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
@@ -7,23 +7,23 @@ dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_STRNLEN],
 [
+  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+
   dnl Persuade glibc <string.h> to declare strnlen().
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
   AC_CHECK_DECLS_ONCE([strnlen])
   if test $ac_cv_have_decl_strnlen = no; then
     HAVE_DECL_STRNLEN=0
+  else
+    AC_FUNC_STRNLEN
+    dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]).
+    if test $ac_cv_func_strnlen_working = no; then
+      REPLACE_STRNLEN=1
+    fi
   fi
-
-  AC_FUNC_STRNLEN
-  if test $ac_cv_func_strnlen_working = no; then
-    # This is necessary because automake-1.6.1 doesn't understand
-    # that the above use of AC_FUNC_STRNLEN means we may have to use
-    # lib/strnlen.c.
-    #AC_LIBOBJ([strnlen])
-    AC_DEFINE([strnlen], [rpl_strnlen],
-      [Define to rpl_strnlen if the replacement function should be used.])
+  if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
+    AC_LIBOBJ([strnlen])
     gl_PREREQ_STRNLEN
   fi
 ])