diff options
Diffstat (limited to 'uisimulator/x11/io.c')
-rw-r--r-- | uisimulator/x11/io.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/uisimulator/x11/io.c b/uisimulator/x11/io.c index 726bfa26a2..53cee8d086 100644 --- a/uisimulator/x11/io.c +++ b/uisimulator/x11/io.c | |||
@@ -1,8 +1,20 @@ | |||
1 | 1 | ||
2 | #include <sys/stat.h> | 2 | #include <sys/stat.h> |
3 | #include "dir.h" | 3 | #include <dirent.h> |
4 | 4 | ||
5 | #undef DIR | 5 | #define DIRFUNCTIONS_DEFINED /* prevent those prototypes */ |
6 | #define dirent x11_dirent | ||
7 | #include "../../firmware/common/dir.h" | ||
8 | #undef dirent | ||
9 | |||
10 | #define SIMULATOR_ARCHOS_ROOT "archos" | ||
11 | |||
12 | struct mydir { | ||
13 | DIR *dir; | ||
14 | char *name; | ||
15 | }; | ||
16 | |||
17 | typedef struct mydir MYDIR; | ||
6 | 18 | ||
7 | MYDIR *x11_opendir(char *name) | 19 | MYDIR *x11_opendir(char *name) |
8 | { | 20 | { |
@@ -21,13 +33,15 @@ MYDIR *x11_opendir(char *name) | |||
21 | return my; | 33 | return my; |
22 | } | 34 | } |
23 | 35 | ||
24 | struct dirent *x11_readdir(MYDIR *dir) | 36 | struct x11_dirent *x11_readdir(MYDIR *dir) |
25 | { | 37 | { |
26 | char buffer[512]; /* sufficiently big */ | 38 | char buffer[512]; /* sufficiently big */ |
27 | static struct dirent secret; | 39 | static struct x11_dirent secret; |
28 | struct stat s; | 40 | struct stat s; |
41 | struct dirent *x11 = (readdir)(dir->dir); | ||
29 | 42 | ||
30 | struct x11_dirent *x11 = (readdir)(dir->dir); | 43 | if(!x11) |
44 | return NULL; | ||
31 | 45 | ||
32 | strcpy(secret.d_name, x11->d_name); | 46 | strcpy(secret.d_name, x11->d_name); |
33 | 47 | ||