.
[gnulib.git] / m4 / stat.m4
index 6ac3e02..7d22116 100644 (file)
@@ -1,20 +1,18 @@
-#serial 1
+#serial 3
 
 dnl From Jim Meyering.
 dnl Determine whether stat has the bug that it succeeds when given the
 
 dnl From Jim Meyering.
 dnl Determine whether stat has the bug that it succeeds when given the
-dnl zero-length file name argument.  The stat from SunOS4.1.4 does this.
+dnl zero-length file name argument.  The stat from SunOS4.1.4 and the Hurd
+dnl (as of 1998-11-01) do this.
 dnl
 dnl
-dnl If it doesn't, arrange to use the replacement function.
-dnl
-dnl If you use this macro in a package, you should
-dnl add the following two lines to acconfig.h:
-dnl  /* Define to rpl_stat if the replacement function should be used.  */
-dnl  #undef stat
+dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
+dnl compile the wrapper function.
 dnl
 
 AC_DEFUN(jm_FUNC_STAT,
 [
 dnl
 
 AC_DEFUN(jm_FUNC_STAT,
 [
- AC_CACHE_CHECK([for working stat], jm_cv_func_working_stat,
+ AC_CACHE_CHECK([whether stat accepts an empty string],
+  jm_cv_func_stat_empty_string_bug,
   [AC_TRY_RUN([
 #   include <sys/types.h>
 #   include <sys/stat.h>
   [AC_TRY_RUN([
 #   include <sys/types.h>
 #   include <sys/stat.h>
@@ -23,16 +21,20 @@ AC_DEFUN(jm_FUNC_STAT,
     main ()
     {
       struct stat sbuf;
     main ()
     {
       struct stat sbuf;
-      exit (stat ("", &sbuf) == 0 ? 1 : 0);
+      exit (stat ("", &sbuf) ? 1 : 0);
     }
          ],
     }
          ],
-        jm_cv_func_working_stat=yes,
-        jm_cv_func_working_stat=no,
+        jm_cv_func_stat_empty_string_bug=yes,
+        jm_cv_func_stat_empty_string_bug=no,
         dnl When crosscompiling, assume stat is broken.
         dnl When crosscompiling, assume stat is broken.
-        jm_cv_func_working_stat=no)
+        jm_cv_func_stat_empty_string_bug=yes)
   ])
   ])
-  if test $jm_cv_func_working_stat = no; then
-    LIBOBJS="$LIBOBJS stat.o"
-    AC_DEFINE_UNQUOTED(stat, rpl_stat)
+  if test $jm_cv_func_stat_empty_string_bug = yes; then
+    AC_SUBST(LIBOBJS)
+    LIBOBJS="$LIBOBJS stat.$ac_objext"
+    AC_DEFINE_UNQUOTED(HAVE_STAT_EMPTY_STRING_BUG, 1,
+[Define if stat has the bug that it succeeds when given the zero-length
+   file name argument.  The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
+   do this. ])
   fi
 ])
   fi
 ])