From 8e044b785668c71786e29d8c7d261b3762a7cae6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 23 Jan 2004 11:36:02 +0000 Subject: mkdir() fix for the winsim, should fix the red build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4269 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/win32/dir-win32.h | 9 +++------ uisimulator/win32/dir.h | 2 +- uisimulator/win32/file.h | 2 +- uisimulator/win32/io.c | 16 +++++++++++++++- 4 files changed, 20 insertions(+), 9 deletions(-) (limited to 'uisimulator') 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 @@ * ****************************************************************************/ -#ifndef __FILE_WIN32_H__ -#define __FILE_WIN32_H__ - -#define mkdir(x, y) dos_mkdir(x) +#ifndef __DIR_WIN32_H__ +#define __DIR_WIN32_H__ #include #include "../../firmware/include/dir.h" - -#endif // #ifndef __FILE_WIN32_H__ +#endif // #ifndef __DIR_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 extern DIR* opendir(char* name); extern int closedir(DIR* dir); -extern int mkdir(char* name); +extern int mkdir(char* name, int mode); extern struct dirent* readdir(DIR* dir); 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); #include "../../firmware/include/file.h" #undef rename - +#define mkdir(x,y) win32_mkdir(x,y) #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 @@ ****************************************************************************/ #include - #include "file.h" #include "debug.h" @@ -47,3 +46,18 @@ int win32_filesize(int fd) return(size); } + +extern (mkdir)(const char *name); + +int win32_mkdir(const char *name, int mode) +{ + char buffer[256]; /* sufficiently big */ + (void)mode; + if(name[0] == '/') { + sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); + + debugf("We create the real directory '%s'\n", buffer); + return (mkdir)(buffer); + } + return (mkdir)(name); +} -- cgit v1.2.3