diff options
Diffstat (limited to 'libgloss/spu')
-rw-r--r-- | libgloss/spu/open.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/libgloss/spu/open.c b/libgloss/spu/open.c index c005f1d0a..c6882bd86 100644 --- a/libgloss/spu/open.c +++ b/libgloss/spu/open.c @@ -39,6 +39,7 @@ open (const char *filename, int flags, ...) { syscall_open_t sys ; syscall_out_t *psys_out = ( syscall_out_t* )&sys; + va_list ap; sys.pathname = ( unsigned int )filename; @@ -63,22 +64,11 @@ open (const char *filename, int flags, ...) sys.flags |= ( ( flags & O_WRONLY ) ? JSRE_O_WRONLY : 0 ); sys.flags |= ( ( flags & O_RDWR ) ? JSRE_O_RDWR : 0 ); - /* FIXME: we have to check/map all flags */ - if ((sys.flags & O_CREAT)) - { - va_list ap; - - va_start (ap, flags); - sys.mode = va_arg (ap, int); - va_end (ap); - - } - else - { - sys.mode = 0; - } + va_start (ap, flags); + sys.mode = va_arg (ap, int); + va_end (ap); __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_OPEN, &sys); |