diff options
Diffstat (limited to 'source3/lib/replace')
-rw-r--r-- | source3/lib/replace/repdir.m4 | 45 | ||||
-rw-r--r-- | source3/lib/replace/test/testsuite.c | 6 |
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(); |