X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Freadlink.m4;h=a502ca560fe4835805fb4c4b2013e28fb95e0668;hb=b58d8aacabf74bae9e628f924474f2038c18a9df;hp=fa7c2ddcb1e6e4a74ea8a02def920c399e1c4794;hpb=5835d9b52879c334f16e747c54be8ec9c62e8536;p=gnulib.git diff --git a/m4/readlink.m4 b/m4/readlink.m4 index fa7c2ddcb..a502ca560 100644 --- a/m4/readlink.m4 +++ b/m4/readlink.m4 @@ -1,5 +1,5 @@ -# readlink.m4 serial 7 -dnl Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc. +# readlink.m4 serial 9 +dnl Copyright (C) 2003, 2007, 2009-2011 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. @@ -21,18 +21,21 @@ AC_DEFUN([gl_FUNC_READLINK], /* Cause compilation failure if original declaration has wrong type. */ ssize_t readlink (const char *, char *, size_t);]])], [gl_cv_decl_readlink_works=yes], [gl_cv_decl_readlink_works=no])]) + dnl Solaris 9 ignores trailing slash. + dnl FreeBSD 7.2 dereferences only one level of links with trailing slash. AC_CACHE_CHECK([whether readlink handles trailing slash correctly], [gl_cv_func_readlink_works], [# We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link + ln -s conftest.link conftest.lnk2 AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[char buf[20]; - return readlink ("conftest.link/", buf, sizeof buf) != -1;]])], + return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], [gl_cv_func_readlink_works="guessing no"]) - rm -f conftest.link]) + rm -f conftest.link conftest.lnk2]) if test "$gl_cv_func_readlink_works" != yes; then AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink fails to recognize a trailing slash.])