summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/rockdoom.c
diff options
context:
space:
mode:
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];