X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=m4%2Fd-ino.m4;h=5261c108e00cbb72105db1c8f217bee6b596d1b5;hb=423d3cac13c30bb0d5f85e5fac6ab1406ed1731a;hp=9bab8f14943251c58f1df826f99a20ec2f1385ae;hpb=42d1eda5dcce2d68deab7a642e7f29bcd7144a0d;p=gnulib.git diff --git a/m4/d-ino.m4 b/m4/d-ino.m4 index 9bab8f149..5261c108e 100644 --- a/m4/d-ino.m4 +++ b/m4/d-ino.m4 @@ -1,11 +1,11 @@ -# serial 11 +# serial 12 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_ino. dnl -# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009 Free Software +# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2010 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation @@ -14,25 +14,30 @@ dnl AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], [AC_CACHE_CHECK([for d_ino member in directory struct], - gl_cv_struct_dirent_d_ino, + gl_cv_struct_dirent_d_ino, [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - #include - ]], - [[DIR *dp = opendir ("."); - struct dirent *e; - struct stat st; - if (! dp) - return 1; - e = readdir (dp); - return ! (e - && stat (e->d_name, &st) == 0 - && e->d_ino == st.st_ino);]])], - [gl_cv_struct_dirent_d_ino=yes], - [gl_cv_struct_dirent_d_ino=no], - [gl_cv_struct_dirent_d_ino=no])]) + [AC_LANG_PROGRAM( + [[#include + #include + #include + ]], + [[DIR *dp = opendir ("."); + struct dirent *e; + struct stat st; + if (! dp) + return 1; + e = readdir (dp); + if (! e) + return 2; + if (stat (e->d_name, &st) != 0) + return 3; + if (e->d_ino != st.st_ino) + return 4; + return 0; + ]])], + [gl_cv_struct_dirent_d_ino=yes], + [gl_cv_struct_dirent_d_ino=no], + [gl_cv_struct_dirent_d_ino=no])]) if test $gl_cv_struct_dirent_d_ino = yes; then AC_DEFINE([D_INO_IN_DIRENT], [1], [Define if struct dirent has a member d_ino that actually works.])