summaryrefslogtreecommitdiff
path: root/uisimulator/x11/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/x11/io.c')
-rw-r--r--uisimulator/x11/io.c24
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
12struct mydir {
13 DIR *dir;
14 char *name;
15};
16
17typedef struct mydir MYDIR;
6 18
7MYDIR *x11_opendir(char *name) 19MYDIR *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
24struct dirent *x11_readdir(MYDIR *dir) 36struct 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