Use the new 3-arg form of AC_DEFINE instead of my gross kludge.
[pspp] / m4 / readdir.m4
index c73c15675dae3beae67acfc4c4b8edbf22389030..74616d462b7c78c8a6010acc0711ecdbb4021cd3 100644 (file)
@@ -1,6 +1,16 @@
-#serial 1
+#serial 2
 
-dnl FIXME: describe
+dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
+dnl to test whether a NULL return value really means there are no more files
+dnl in the directory.
+dnl
+dnl Detect the problem by creating a directory containing 300 files (254 not
+dnl counting . and .. is the minimum) and see if a loop doing `readdir; unlink'
+dnl removes all of them.
+dnl
+dnl Define HAVE_WORKING_READDIR if readdir does *not* have this problem.
+
+dnl Written by Jim Meyering.
 
 AC_DEFUN(jm_FUNC_READDIR,
 [dnl
@@ -116,16 +126,8 @@ AC_CACHE_CHECK([for working readdir], jm_cv_func_working_readdir,
   jm_cv_func_working_readdir=no,
   jm_cv_func_working_readdir=no)])
 
-  if test x = y; then
-    dnl This code is deliberately never run via ./configure.
-    dnl FIXME: this is a gross hack to make autoheader put an entry
-    dnl for this HAVE_-prefixed symbol in config.h.in.
-    AC_CHECK_FUNCS(WORKING_READDIR)
-  fi
-
-
   if test $jm_cv_func_working_readdir = yes; then
-    ac_kludge=HAVE_WORKING_READDIR
-    AC_DEFINE_UNQUOTED($ac_kludge)
+    AC_DEFINE_UNQUOTED(HAVE_WORKING_READDIR, 1,
+[Define if readdir is found to work properly in some unusual cases. ])
   fi
 ])