summaryrefslogtreecommitdiff
path: root/source3/lib/replace
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/replace')
-rw-r--r--source3/lib/replace/repdir.m445
-rw-r--r--source3/lib/replace/test/testsuite.c6
2 files changed, 25 insertions, 26 deletions
diff --git a/source3/lib/replace/repdir.m4 b/source3/lib/replace/repdir.m4
index 81025d618a..f53a4c2974 100644
--- a/source3/lib/replace/repdir.m4
+++ b/source3/lib/replace/repdir.m4
@@ -8,28 +8,6 @@ AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[
])
#
-# try to replace with getdents() if needed
-#
-if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
-AC_CHECK_FUNCS(getdents)
-AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[
- AC_TRY_RUN([
-#define _LIBREPLACE_REPLACE_H
-#include "$libreplacedir/repdir_getdents.c"
-#define test_readdir_os2_delete main
-#include "$libreplacedir/test/os2_delete.c"],
- [libreplace_cv_READDIR_GETDENTS=yes],
- [libreplace_cv_READDIR_GETDENTS=no])
-])
-fi
-if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then
- AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
- AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()])
- LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o"
- libreplace_cv_READDIR_NEEDED=no
-fi
-
-#
# try to replace with getdirentries() if needed
#
if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
@@ -68,6 +46,29 @@ if test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then
libreplace_cv_READDIR_NEEDED=no
fi
+#
+# try to replace with getdents() if needed
+#
+if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
+AC_CHECK_FUNCS(getdents)
+AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[
+ AC_TRY_RUN([
+#define _LIBREPLACE_REPLACE_H
+#error _donot_use_getdents_replacement_anymore
+#include "$libreplacedir/repdir_getdents.c"
+#define test_readdir_os2_delete main
+#include "$libreplacedir/test/os2_delete.c"],
+ [libreplace_cv_READDIR_GETDENTS=yes],
+ [libreplace_cv_READDIR_GETDENTS=no])
+])
+fi
+if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then
+ AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
+ AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()])
+ LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o"
+ libreplace_cv_READDIR_NEEDED=no
+fi
+
AC_MSG_CHECKING([a usable readdir()])
if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
AC_MSG_RESULT(no)
diff --git a/source3/lib/replace/test/testsuite.c b/source3/lib/replace/test/testsuite.c
index fa5265f66f..d45304103f 100644
--- a/source3/lib/replace/test/testsuite.c
+++ b/source3/lib/replace/test/testsuite.c
@@ -231,14 +231,12 @@ static int test_opendir(void)
extern int test_readdir_os2_delete(void);
-static bool test_readdir(void)
+static int test_readdir(void)
{
printf("testing readdir\n");
if (test_readdir_os2_delete() != 0) {
return false;
}
-
- /* FIXME */
return true;
}
@@ -400,7 +398,7 @@ bool torture_local_replace(struct torture_context *torture)
ret &= test_vasprintf();
ret &= test_vsnprintf();
ret &= test_opendir();
- ret &= test_readdir() ;
+ ret &= test_readdir();
ret &= test_telldir();
ret &= test_seekdir();
ret &= test_dlopen();