doc: use ASCII in .texi files where UTF-8 isn't needed
[gnulib.git] / m4 / strnlen.m4
index a5bd2ef..94317f8 100644 (file)
@@ -1,31 +1,30 @@
-#serial 1
+# strnlen.m4 serial 13
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
 
-# This is already in cvs autoconf -- what will be 2.52g.
-# Define it here for those who aren't on the bleeding edge.
-# FIXME: remove this file once the next autoconf release comes out.
+AC_DEFUN([gl_FUNC_STRNLEN],
+[
+  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
 
-undefine([AC_FUNC_STRNLEN])
+  dnl Persuade glibc <string.h> to declare strnlen().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
-# AC_FUNC_STRNLEN
-# --------------
-AC_DEFUN([AC_FUNC_STRNLEN],
-[AC_CACHE_CHECK([for working strnlen], ac_cv_func_strnlen_working,
-[AC_RUN_IFELSE([AC_LANG_PROGRAM([], [[
-#define S "foobar"
-#define S_LEN (sizeof S - 1)
+  AC_CHECK_DECLS_ONCE([strnlen])
+  if test $ac_cv_have_decl_strnlen = no; then
+    HAVE_DECL_STRNLEN=0
+  else
+    m4_pushdef([AC_LIBOBJ], [:])
+    dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]).
+    AC_FUNC_STRNLEN
+    m4_popdef([AC_LIBOBJ])
+    if test $ac_cv_func_strnlen_working = no; then
+      REPLACE_STRNLEN=1
+    fi
+  fi
+])
 
-  /* At least one implementation is buggy: that of AIX 4.3.  */
-  int i;
-  for (i = 0; i < S_LEN + 1; ++i)
-    {
-      int result = i <= S_LEN ? i : S_LEN;
-      if (strnlen (S, i) != result)
-       exit (1);
-    }
-  exit (0);
-]])],
-               [ac_cv_func_strnlen_working=yes],
-               [ac_cv_func_strnlen_working=no],
-               [ac_cv_func_strnlen_working=no])])
-test $ac_cv_func_strnlen_working = no && AC_LIBOBJ([strnlen])
-])# AC_FUNC_STRNLEN
+# Prerequisites of lib/strnlen.c.
+AC_DEFUN([gl_PREREQ_STRNLEN], [:])