summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/util.c b/util.c
index a7dc7c7..e5b7256 100644
--- a/util.c
+++ b/util.c
@@ -443,6 +443,9 @@ struct devmap {
int devlist_ready = 0;
#ifdef UCLIBC
+int add_dev(const char *name, const struct stat *stb, int flag, struct FTW *s)
+{
+}
char *map_dev(int major, int minor)
{
#if 0
@@ -452,15 +455,19 @@ char *map_dev(int major, int minor)
return NULL;
}
#else
-#define __USE_XOPEN_EXTENDED
-#include <ftw.h>
+#ifdef __dietlibc__
+int add_dev_1(const char *name, const struct stat *stb, int flag)
+{
+ return add_dev(name, stb, flag, NULL);
+}
+int nftw(const char *path, int (*han)(const char *name, const struct stat *stb, int flag, struct FTW *s), int nopenfd, int flags)
+{
+ ftw(path, add_dev_1, nopenfd);
+}
+#endif
-#ifndef __dietlibc__
int add_dev(const char *name, const struct stat *stb, int flag, struct FTW *s)
-#else
-int add_dev(const char *name, const struct stat *stb, int flag)
-#endif
{
if ((stb->st_mode&S_IFMT)== S_IFBLK) {
char *n = strdup(name);
@@ -488,11 +495,7 @@ char *map_dev(int major, int minor)
struct devmap *p;
char *std = NULL, *nonstd=NULL;
if (!devlist_ready) {
-#ifndef __dietlibc__
nftw("/dev", add_dev, 10, FTW_PHYS);
-#else
- ftw("/dev", add_dev, 10);
-#endif
devlist_ready=1;
}