summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/win32/dir-win32.h2
-rw-r--r--uisimulator/x11/dir.h2
-rw-r--r--uisimulator/x11/io.c13
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;
32extern MYDIR *x11_opendir(char *name); 32extern MYDIR *x11_opendir(char *name);
33extern struct x11_dirent* x11_readdir(MYDIR* dir); 33extern struct x11_dirent* x11_readdir(MYDIR* dir);
34extern int x11_closedir(MYDIR *dir); 34extern int x11_closedir(MYDIR *dir);
35extern 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
136int 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
136int x11_remove(char *name) 149int x11_remove(char *name)
137{ 150{
138 char buffer[256]; /* sufficiently big */ 151 char buffer[256]; /* sufficiently big */