diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-06-14 22:22:49 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-06-14 22:22:49 +0000 |
commit | 36c9a958e483dbc2298ea3e13c52bda4047c8f0d (patch) | |
tree | ba76f797a3ec5de80d37a5510d6309e9e3cdfe08 /uisimulator | |
parent | f69c703c53c94aefdb7750331f66b5c94e43f8c5 (diff) | |
download | rockbox-36c9a958e483dbc2298ea3e13c52bda4047c8f0d.tar.gz rockbox-36c9a958e483dbc2298ea3e13c52bda4047c8f0d.zip |
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
Diffstat (limited to 'uisimulator')
-rw-r--r-- | uisimulator/common/io.c | 21 |
1 files changed, 20 insertions, 1 deletions
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); |