Author: metze
Date: 2006-09-13 10:00:45 +0000 (Wed, 13 Sep 2006)
New Revision: 18452

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18452

Log:
add configure test for a getdirentries() based replacement for broken readdir()

Tru64 need this, linux also has getdirentries() but the native readdir() works
but it means we can write the code on linux and when it works it may work on 
Tru64
too.

tridge: can you try to implement this?

metze
Added:
   branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c
Modified:
   branches/SAMBA_4_0/source/lib/replace/repdir.m4


Changeset:
Modified: branches/SAMBA_4_0/source/lib/replace/repdir.m4
===================================================================
--- branches/SAMBA_4_0/source/lib/replace/repdir.m4     2006-09-13 09:56:21 UTC 
(rev 18451)
+++ branches/SAMBA_4_0/source/lib/replace/repdir.m4     2006-09-13 10:00:45 UTC 
(rev 18452)
@@ -28,3 +28,28 @@
        LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o"
        libreplace_READDIR_NEEDED=no
 fi
+
+#
+# try to replace with getdirentries() if needed
+#
+if test x"$libreplace_READDIR_NEEDED" = x"yes"; then
+AC_CACHE_CHECK([for replacing readdir using 
getdirentries()],libreplace_READDIR_GETDIRENTRIES,[
+       AC_TRY_RUN([
+#include "confdefs.h"
+#include "$libreplacedir/repdir_getdirentries.c"
+#define test_readdir_os2_delete main
+#include "$libreplacedir/test/os2_delete.c"],
+       [libreplace_READDIR_GETDIRENTRIES=yes],
+       [libreplace_READDIR_GETDIRENTRIES=no])
+])
+fi
+if test x"$libreplace_READDIR_GETDIRENTRIES" = x"yes"; then
+       AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
+       AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using 
getdirentries()])
+       LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdirentries.o"
+       libreplace_READDIR_NEEDED=no
+fi
+
+if test x"$libreplace_READDIR_NEEDED" = x"yes"; then
+       AC_MSG_WARN([the provides readdir() is broken])
+fi

Added: branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c
===================================================================
--- branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c        
2006-09-13 09:56:21 UTC (rev 18451)
+++ branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c        
2006-09-13 10:00:45 UTC (rev 18452)
@@ -0,0 +1 @@
+#error "the readdir() replacement using getdirentried() isn't implemented yet"

Reply via email to