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 21efbc4147..1383a2b520 100644
--- a/apps/plugins/doom/rockdoom.c
+++ b/apps/plugins/doom/rockdoom.c
@@ -63,13 +63,20 @@ int fileexists(const char * fname)
63} 63}
64 64
65#ifndef SIMULATOR 65#ifndef SIMULATOR
66int my_open(const char *file, int flags) 66int my_open(const char *file, int flags, ...)
67{ 67{
68 if(fpoint==8) 68 if(fpoint==8)
69 return -1; 69 return -1;
70#undef open 70#undef open
71 filearray[fpoint]=rb->open(file, flags); 71 if (flags & O_CREAT)
72 72 {
73 va_list ap;
74 va_start(ap, flags);
75 filearray[fpoint]=rb->open(file, flags, va_arg(ap, mode_t));
76 va_end(ap);
77 }
78 else
79 filearray[fpoint]=rb->open(file, flags);
73 if(filearray[fpoint]<0) 80 if(filearray[fpoint]<0)
74 return filearray[fpoint]; 81 return filearray[fpoint];
75 82