From 36c9a958e483dbc2298ea3e13c52bda4047c8f0d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 14 Jun 2004 22:22:49 +0000 Subject: translate from rockbox's open() options to the options used by the host git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4745 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/common/io.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'uisimulator/common/io.c') diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c index e321c1adcc..3f639d557d 100644 --- a/uisimulator/common/io.c +++ b/uisimulator/common/io.c @@ -54,6 +54,24 @@ struct mydir { typedef struct mydir MYDIR; +static unsigned int rockbox2sim(int opt) +{ + int newopt = 0; + if(opt & 1) + newopt |= O_WRONLY; + if(opt & 2) + newopt |= O_RDWR; + if(opt & 4) + newopt |= O_CREAT; + if(opt & 8) + newopt |= O_APPEND; + if(opt & 0x10) + newopt |= O_TRUNC; + + return newopt; +} + + MYDIR *sim_opendir(const char *name) { char buffer[256]; /* sufficiently big */ @@ -109,9 +127,10 @@ void sim_closedir(MYDIR *dir) } -int sim_open(const char *name, int opts) +int sim_open(const char *name, int o) { char buffer[256]; /* sufficiently big */ + int opts = rockbox2sim(o); if(name[0] == '/') { sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name); -- cgit v1.2.3