diff options
Diffstat (limited to 'uisimulator')
-rw-r--r-- | uisimulator/win32/dir-win32.h | 9 | ||||
-rw-r--r-- | uisimulator/win32/dir.h | 2 | ||||
-rw-r--r-- | uisimulator/win32/file.h | 2 | ||||
-rw-r--r-- | uisimulator/win32/io.c | 16 |
4 files changed, 20 insertions, 9 deletions
diff --git a/uisimulator/win32/dir-win32.h b/uisimulator/win32/dir-win32.h index 151f6f3674..c34a53aa1e 100644 --- a/uisimulator/win32/dir-win32.h +++ b/uisimulator/win32/dir-win32.h | |||
@@ -17,13 +17,10 @@ | |||
17 | * | 17 | * |
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | 19 | ||
20 | #ifndef __FILE_WIN32_H__ | 20 | #ifndef __DIR_WIN32_H__ |
21 | #define __FILE_WIN32_H__ | 21 | #define __DIR_WIN32_H__ |
22 | |||
23 | #define mkdir(x, y) dos_mkdir(x) | ||
24 | 22 | ||
25 | #include <io.h> | 23 | #include <io.h> |
26 | #include "../../firmware/include/dir.h" | 24 | #include "../../firmware/include/dir.h" |
27 | 25 | ||
28 | 26 | #endif // #ifndef __DIR_WIN32_H__ | |
29 | #endif // #ifndef __FILE_WIN32_H__ | ||
diff --git a/uisimulator/win32/dir.h b/uisimulator/win32/dir.h index 6b275abda8..acf1c93879 100644 --- a/uisimulator/win32/dir.h +++ b/uisimulator/win32/dir.h | |||
@@ -72,7 +72,7 @@ typedef struct DIRtag | |||
72 | 72 | ||
73 | extern DIR* opendir(char* name); | 73 | extern DIR* opendir(char* name); |
74 | extern int closedir(DIR* dir); | 74 | extern int closedir(DIR* dir); |
75 | extern int mkdir(char* name); | 75 | extern int mkdir(char* name, int mode); |
76 | 76 | ||
77 | extern struct dirent* readdir(DIR* dir); | 77 | extern struct dirent* readdir(DIR* dir); |
78 | 78 | ||
diff --git a/uisimulator/win32/file.h b/uisimulator/win32/file.h index a542992cf9..2c94ba320a 100644 --- a/uisimulator/win32/file.h +++ b/uisimulator/win32/file.h | |||
@@ -38,6 +38,6 @@ int win32_filesize(int fd); | |||
38 | #include "../../firmware/include/file.h" | 38 | #include "../../firmware/include/file.h" |
39 | 39 | ||
40 | #undef rename | 40 | #undef rename |
41 | 41 | #define mkdir(x,y) win32_mkdir(x,y) | |
42 | 42 | ||
43 | #endif | 43 | #endif |
diff --git a/uisimulator/win32/io.c b/uisimulator/win32/io.c index 862923dd5f..5055ba69e7 100644 --- a/uisimulator/win32/io.c +++ b/uisimulator/win32/io.c | |||
@@ -18,7 +18,6 @@ | |||
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | 19 | ||
20 | #include <stdio.h> | 20 | #include <stdio.h> |
21 | |||
22 | #include "file.h" | 21 | #include "file.h" |
23 | #include "debug.h" | 22 | #include "debug.h" |
24 | 23 | ||
@@ -47,3 +46,18 @@ int win32_filesize(int fd) | |||
47 | 46 | ||
48 | return(size); | 47 | return(size); |
49 | } | 48 | } |
49 | |||
50 | extern (mkdir)(const char *name); | ||
51 | |||
52 | int win32_mkdir(const char *name, int mode) | ||
53 | { | ||
54 | char buffer[256]; /* sufficiently big */ | ||
55 | (void)mode; | ||
56 | if(name[0] == '/') { | ||
57 | sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); | ||
58 | |||
59 | debugf("We create the real directory '%s'\n", buffer); | ||
60 | return (mkdir)(buffer); | ||
61 | } | ||
62 | return (mkdir)(name); | ||
63 | } | ||