summaryrefslogtreecommitdiff
path: root/source4/lib/replace/repdir_getdirentries.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-09-14 08:26:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:18:40 -0500
commita0e87e5dc79bc631cb2362ebbf4d91913a342273 (patch)
tree7b7dfd24fcbf6f634a1d5dde4d5ffdca95d326ac /source4/lib/replace/repdir_getdirentries.c
parent595c141a69ea0744fccba477717a71fa4abeb825 (diff)
downloadsamba-a0e87e5dc79bc631cb2362ebbf4d91913a342273.tar.gz
samba-a0e87e5dc79bc631cb2362ebbf4d91913a342273.tar.bz2
samba-a0e87e5dc79bc631cb2362ebbf4d91913a342273.zip
r18505: add configure checks for telldir() and seekdir()
telldir() is different on older OpenBSD versions seekdir() is different Tru64 tridge: OpenBSD seems to like this replacement:-) while MAC OS 10 gets 134 runtime error:-( lets wait what Tru64 will give metze (This used to be commit 1f4e602ff239b7feabb2dd1d6938dedf91bde5cd)
Diffstat (limited to 'source4/lib/replace/repdir_getdirentries.c')
-rw-r--r--source4/lib/replace/repdir_getdirentries.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source4/lib/replace/repdir_getdirentries.c b/source4/lib/replace/repdir_getdirentries.c
index a9c1c1ce82..9e4b63145c 100644
--- a/source4/lib/replace/repdir_getdirentries.c
+++ b/source4/lib/replace/repdir_getdirentries.c
@@ -48,6 +48,7 @@
well. Contact the author.
*/
+#include "replace.h"
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -104,8 +105,6 @@ struct dirent *readdir(DIR *dir)
return de;
}
-#define TELLDIR_TAKES_CONST_DIR
-
#ifdef TELLDIR_TAKES_CONST_DIR
long telldir(const DIR *dir)
#else
@@ -126,7 +125,11 @@ long telldir(DIR *dir)
return d->seekpos + d->ofs;
}
+#ifdef SEEKDIR_RETURNS_INT
+int seekdir(DIR *dir, long ofs)
+#else
void seekdir(DIR *dir, long ofs)
+#endif
{
struct dir_buf *d = (struct dir_buf *)dir;
long pos;
@@ -136,6 +139,9 @@ void seekdir(DIR *dir, long ofs)
while (d->ofs < (ofs & (DIR_BUF_SIZE-1))) {
if (readdir(dir) == NULL) break;
}
+#ifdef SEEKDIR_RETURNS_INT
+ return -1;
+#endif
}
void rewinddir(DIR *dir)