*** empty log message ***
[gnulib.git] / m4 / lstat.m4
index bb2f754..82e11ab 100644 (file)
@@ -1,20 +1,18 @@
-#serial 1
+#serial 3
 
 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 SunOS4.1.4 does this.
+dnl zero-length file name argument.  The lstat from SunOS4.1.4 and the Hurd
+dnl (as of 1998-11-01) do this.
 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_lstat if the replacement function should be used.  */
-dnl  #undef lstat
+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_CACHE_CHECK([for working lstat], jm_cv_func_working_lstat,
+ AC_CACHE_CHECK([whether lstat accepts an empty string],
+  jm_cv_func_lstat_empty_string_bug,
   [AC_TRY_RUN([
 #   include <sys/types.h>
 #   include <sys/stat.h>
@@ -23,16 +21,20 @@ AC_DEFUN(jm_FUNC_LSTAT,
     main ()
     {
       struct stat sbuf;
-      exit (lstat ("", &sbuf) == 0 ? 1 : 0);
+      exit (lstat ("", &sbuf) ? 1 : 0);
     }
          ],
-        jm_cv_func_working_lstat=yes,
-        jm_cv_func_working_lstat=no,
+        jm_cv_func_lstat_empty_string_bug=yes,
+        jm_cv_func_lstat_empty_string_bug=no,
         dnl When crosscompiling, assume lstat is broken.
-        jm_cv_func_working_lstat=no)
+        jm_cv_func_lstat_empty_string_bug=yes)
   ])
-  if test $jm_cv_func_working_lstat = no; then
-    LIBOBJS="$LIBOBJS lstat.o"
-    AC_DEFINE_UNQUOTED(lstat, rpl_lstat)
+  if test $jm_cv_func_lstat_empty_string_bug = yes; then
+    AC_SUBST(LIBOBJS)
+    LIBOBJS="$LIBOBJS lstat.$ac_objext"
+    AC_DEFINE_UNQUOTED(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
+[Define if lstat has the bug that it succeeds when given the zero-length
+   file name argument.  The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
+   do this. ])
   fi
 ])