X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flstat.m4;h=5dbd16e28ffe875a46d4696df5a4a164b32b929f;hb=0167c1923d0791e0e1491a856292b0945621c4e2;hp=ff9e7fe3207bdca4014f8fbfbbb2053f4b14eda7;hpb=e57b0bd6cce7d468a30356c0a2cdab8a0af58eca;p=gnulib.git diff --git a/m4/lstat.m4 b/m4/lstat.m4 index ff9e7fe32..5dbd16e28 100644 --- a/m4/lstat.m4 +++ b/m4/lstat.m4 @@ -1,27 +1,28 @@ -#serial 8 +# serial 20 + +# Copyright (C) 1997-2001, 2003-2010 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. -dnl Determine whether lstat has the bug that it succeeds when given the -dnl zero-length file name argument. The lstat from SunOS 4.1.4 and the Hurd -dnl (as of 1998-11-01) do this. -dnl -dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to -dnl compile the wrapper function. -dnl -AC_DEFUN([jm_FUNC_LSTAT], +AC_DEFUN([gl_FUNC_LSTAT], [ - AC_FUNC_LSTAT - dnl Note: AC_FUNC_LSTAT does AC_LIBOBJ(lstat). - if test $ac_cv_func_lstat_empty_string_bug = yes; then - gl_PREREQ_LSTAT + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + dnl If lstat does not exist, the replacement does + dnl "#define lstat stat", and lstat.c is a no-op. + AC_CHECK_FUNCS_ONCE([lstat]) + if test $ac_cv_func_lstat = yes; then + AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then + dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ([lstat]). + REPLACE_LSTAT=1 + fi + # Prerequisites of lib/lstat.c. + AC_REQUIRE([AC_C_INLINE]) + else + HAVE_LSTAT=0 fi ]) - -# Prerequisites of lib/lstat.c. -AC_DEFUN([gl_PREREQ_LSTAT], -[ - AC_REQUIRE([AC_HEADER_STAT]) - AC_CHECK_HEADERS_ONCE(stdlib.h) - AC_CHECK_DECLS_ONCE(free) -])