summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/rockdoom.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-05-06 17:35:13 +0000
committerThomas Martitz <kugel@rockbox.org>2010-05-06 17:35:13 +0000
commit0a1d7c28b7e9da555d26d489cde2da26e2cc9ca0 (patch)
treea21521e6e4b8fe0131c4d9e8bae6d8cc78125fe9 /apps/plugins/doom/rockdoom.c
parentc61e89c0eda126c2c1a4a3983520c35fe30db156 (diff)
downloadrockbox-0a1d7c28b7e9da555d26d489cde2da26e2cc9ca0.zip
rockbox-0a1d7c28b7e9da555d26d489cde2da26e2cc9ca0.tar.gz
rockbox-0a1d7c28b7e9da555d26d489cde2da26e2cc9ca0.tar.bz2
rockbox-0a1d7c28b7e9da555d26d489cde2da26e2cc9ca0.tar.xz
Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/doom/rockdoom.c')
-rw-r--r--apps/plugins/doom/rockdoom.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/apps/plugins/doom/rockdoom.c b/apps/plugins/doom/rockdoom.c
index 21efbc4..1383a2b 100644
--- a/apps/plugins/doom/rockdoom.c
+++ b/apps/plugins/doom/rockdoom.c
@@ -63,13 +63,20 @@ int fileexists(const char * fname)
}
#ifndef SIMULATOR
-int my_open(const char *file, int flags)
+int my_open(const char *file, int flags, ...)
{
if(fpoint==8)
return -1;
#undef open
- filearray[fpoint]=rb->open(file, flags);
-
+ if (flags & O_CREAT)
+ {
+ va_list ap;
+ va_start(ap, flags);
+ filearray[fpoint]=rb->open(file, flags, va_arg(ap, mode_t));
+ va_end(ap);
+ }
+ else
+ filearray[fpoint]=rb->open(file, flags);
if(filearray[fpoint]<0)
return filearray[fpoint];