mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-14 07:46:28 +02:00
*** empty log message ***
This commit is contained in:
41
m4/lstat-slash.m4
Normal file
41
m4/lstat-slash.m4
Normal file
@@ -0,0 +1,41 @@
|
||||
#serial 1
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl FIXME
|
||||
|
||||
AC_DEFUN(jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK,
|
||||
[
|
||||
AC_CACHE_CHECK(
|
||||
[whether lstat dereferences a symlink specified with a trailing slash],
|
||||
jm_cv_func_lstat_dereferences_slashed_symlink,
|
||||
[
|
||||
rm -f conftest.sym conftest.file
|
||||
: > conftest.file
|
||||
if ln -s conftest.file conftest.sym; then
|
||||
AC_TRY_RUN([
|
||||
# include <sys/types.h>
|
||||
# include <sys/stat.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct stat sbuf;
|
||||
exit (lstat ("conftest.sym/", &sbuf) ? 0 : 1);
|
||||
}
|
||||
],
|
||||
jm_cv_func_lstat_dereferences_slashed_symlink=yes,
|
||||
jm_cv_func_lstat_dereferences_slashed_symlink=no,
|
||||
dnl When crosscompiling, be pessimistic so we'll end up using the
|
||||
dnl replacement version of lstat that checkes for trailing slashes
|
||||
dnl and calls lstat a second time when necessary.
|
||||
jm_cv_func_lstat_dereferences_slashed_symlink=no
|
||||
)
|
||||
])
|
||||
|
||||
if test $jm_cv_func_lstat_dereferences_slashed_symlink = yes; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS lstat.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(LSTAT_FOLLOWS_SLASHED_SYMLINK, 1,
|
||||
[Define if lstat dereferences a symlink specified with a trailing slash])
|
||||
fi
|
||||
])
|
||||
Reference in New Issue
Block a user