diff options
Diffstat (limited to 'uisimulator')
-rw-r--r-- | uisimulator/win32/dir-win32.h | 2 | ||||
-rw-r--r-- | uisimulator/x11/dir.h | 2 | ||||
-rw-r--r-- | uisimulator/x11/io.c | 13 |
3 files changed, 16 insertions, 1 deletions
diff --git a/uisimulator/win32/dir-win32.h b/uisimulator/win32/dir-win32.h index 67b37dfc74..151f6f3674 100644 --- a/uisimulator/win32/dir-win32.h +++ b/uisimulator/win32/dir-win32.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #ifndef __FILE_WIN32_H__ | 20 | #ifndef __FILE_WIN32_H__ |
21 | #define __FILE_WIN32_H__ | 21 | #define __FILE_WIN32_H__ |
22 | 22 | ||
23 | #define mkdir(x) dos_mkdir(x) | 23 | #define mkdir(x, y) dos_mkdir(x) |
24 | 24 | ||
25 | #include <io.h> | 25 | #include <io.h> |
26 | #include "../../firmware/include/dir.h" | 26 | #include "../../firmware/include/dir.h" |
diff --git a/uisimulator/x11/dir.h b/uisimulator/x11/dir.h index 6b019c833e..17058eafb2 100644 --- a/uisimulator/x11/dir.h +++ b/uisimulator/x11/dir.h | |||
@@ -32,6 +32,7 @@ typedef void * MYDIR; | |||
32 | extern MYDIR *x11_opendir(char *name); | 32 | extern MYDIR *x11_opendir(char *name); |
33 | extern struct x11_dirent* x11_readdir(MYDIR* dir); | 33 | extern struct x11_dirent* x11_readdir(MYDIR* dir); |
34 | extern int x11_closedir(MYDIR *dir); | 34 | extern int x11_closedir(MYDIR *dir); |
35 | extern int x11_mkdir(char *name, int mode); | ||
35 | 36 | ||
36 | #ifndef NO_REDEFINES_PLEASE | 37 | #ifndef NO_REDEFINES_PLEASE |
37 | 38 | ||
@@ -40,6 +41,7 @@ extern int x11_closedir(MYDIR *dir); | |||
40 | #define opendir(x) x11_opendir(x) | 41 | #define opendir(x) x11_opendir(x) |
41 | #define readdir(x) x11_readdir(x) | 42 | #define readdir(x) x11_readdir(x) |
42 | #define closedir(x) x11_closedir(x) | 43 | #define closedir(x) x11_closedir(x) |
44 | #define mkdir(x, y) x11_mkdir(x, y) | ||
43 | 45 | ||
44 | #endif | 46 | #endif |
45 | 47 | ||
diff --git a/uisimulator/x11/io.c b/uisimulator/x11/io.c index 14d2bfa2c0..72a7319ec6 100644 --- a/uisimulator/x11/io.c +++ b/uisimulator/x11/io.c | |||
@@ -133,6 +133,19 @@ int x11_creat(const char *name, mode_t mode) | |||
133 | return (creat)(name, 0666); | 133 | return (creat)(name, 0666); |
134 | } | 134 | } |
135 | 135 | ||
136 | int x11_mkdir(const char *name, mode_t mode) | ||
137 | { | ||
138 | char buffer[256]; /* sufficiently big */ | ||
139 | (void)mode; | ||
140 | if(name[0] == '/') { | ||
141 | sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); | ||
142 | |||
143 | debugf("We create the real directory '%s'\n", buffer); | ||
144 | return (mkdir)(buffer, 0666); | ||
145 | } | ||
146 | return (mkdir)(name, 0666); | ||
147 | } | ||
148 | |||
136 | int x11_remove(char *name) | 149 | int x11_remove(char *name) |
137 | { | 150 | { |
138 | char buffer[256]; /* sufficiently big */ | 151 | char buffer[256]; /* sufficiently big */ |