Signed-off-by: Felipe Contreras <[email protected]>
---
preload/gen-interface.pl | 8 ++++++++
preload/generate.py | 4 ++--
preload/interface.master | 4 ++--
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/preload/gen-interface.pl b/preload/gen-interface.pl
index 58e109f..d60ba51 100755
--- a/preload/gen-interface.pl
+++ b/preload/gen-interface.pl
@@ -847,6 +847,14 @@ my $export_h_buffer =
#include \"mapping.h\"
+#ifdef PROPER_DIRENT
+typedef const struct dirent *scandir_arg_t;
+typedef const struct dirent64 *scandir64_arg_t;
+#else
+typedef const void scandir_arg_t;
+typedef const void scandir64_arg_t;
+#endif
+
";
# Handle "WRAP" and "GATE" commands.
diff --git a/preload/generate.py b/preload/generate.py
index badb307..2d3f3ce 100644
--- a/preload/generate.py
+++ b/preload/generate.py
@@ -164,8 +164,8 @@ W('int removexattr(const char *path, const char *name)',
b_map("path"))
W('int rename(const char *oldpath, const char *newpath)', b_map("oldpath"),
b_map("newpath"))
W('int revoke(const char *file)', b_map("file"))
W('int rmdir(const char *pathname)', b_map("pathname"))
-W('int scandir(const char *dir, struct dirent ***namelist, int(*filter)(const
struct dirent *), int(*compar)(const void *, const void *))', b_map("dir"),
argnames=['dir','namelist','filter','compar'])
-W('int scandir64(const char *dir, struct dirent64 ***namelist,
int(*filter)(const struct dirent64 *), int(*compar)(const void *, const void
*))', b_map("dir"),argnames=['dir','namelist','filter','compar'])
+W('int scandir(const char *dir, struct dirent ***namelist, int(*filter)(const
struct dirent *), int(*compar)(scandir_arg_t *, scandir_arg_t *))',
b_map("dir"), argnames=['dir','namelist','filter','compar'])
+W('int scandir64(const char *dir, struct dirent64 ***namelist,
int(*filter)(const struct dirent64 *), int(*compar)(scandir64_arg_t *,
scandir64_arg_t *))',
b_map("dir"),argnames=['dir','namelist','filter','compar'])
W('int setxattr(const char *path, const char *name, const void *value, size_t
size, int flags)', b_map("path"))
W('int stat(const char *file_name, struct stat *buf)', b_map("file_name"))
W('int stat64(const char *file_name, struct stat64 *buf)', b_map("file_name"))
diff --git a/preload/interface.master b/preload/interface.master
index 25932b0..b777ae0 100644
--- a/preload/interface.master
+++ b/preload/interface.master
@@ -412,7 +412,7 @@ WRAP: int rmdir(const char *pathname) : \
#ifdef HAVE_LINUX_SCANDIR
WRAP: int scandir(const char *dir, struct dirent ***namelist, \
int(*filter)(const struct dirent *), \
- int(*compar)(const void *, const void *)) : \
+ int(*compar)(scandir_arg_t *, scandir_arg_t *)) : \
map(dir)
#endif
#ifdef HAVE_OSX_SCANDIR
@@ -425,7 +425,7 @@ WRAP: int scandir(const char *dirname, struct dirent
***namelist, \
#ifdef HAVE_SCANDIR64
WRAP: int scandir64(const char *dir, struct dirent64 ***namelist, \
int(*filter)(const struct dirent64 *), \
- int(*compar)(const void *, const void *)) : \
+ int(*compar)(scandir64_arg_t *, scandir64_arg_t *)) : \
map(dir)
#endif
#ifdef HAVE_SETXATTR
--
1.6.5.rc1
_______________________________________________
Scratchbox-devel mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-devel