X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fstrnlen.m4;h=d8307eda4acc8ab1e3ea35d0897e5d4313e838c5;hb=8eaac7a51d093dbcecc0c2b42a5762a882b4517b;hp=a5bd2ef0075bd3b4f79f4501041980fe5be36c6f;hpb=f4b7f14292df9fe59509a5a1aa996cc26e2607fc;p=gnulib.git diff --git a/m4/strnlen.m4 b/m4/strnlen.m4 index a5bd2ef00..d8307eda4 100644 --- a/m4/strnlen.m4 +++ b/m4/strnlen.m4 @@ -1,31 +1,31 @@ -#serial 1 +# strnlen.m4 serial 9 +dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, 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], +[ + dnl Persuade glibc to declare strnlen(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -undefine([AC_FUNC_STRNLEN]) + 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 + fi -# 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_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.]) + gl_PREREQ_STRNLEN + 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], [:])