|
@@ -22,19 +22,18 @@ static inline _syscall3(int, __syscall_open, const char *, file,
|
|
int, flags, __kernel_mode_t, mode);
|
|
int, flags, __kernel_mode_t, mode);
|
|
|
|
|
|
libc_hidden_proto(__libc_open)
|
|
libc_hidden_proto(__libc_open)
|
|
-int __libc_open(const char *file, int flags, ...)
|
|
|
|
|
|
+int __libc_open(const char *file, int oflag, ...)
|
|
{
|
|
{
|
|
- /* gcc may warn about mode being uninitialized.
|
|
|
|
- * Just ignore that, since gcc is wrong. */
|
|
|
|
- mode_t mode;
|
|
|
|
-
|
|
|
|
- if (flags & O_CREAT) {
|
|
|
|
- va_list ap;
|
|
|
|
-
|
|
|
|
- va_start(ap, flags);
|
|
|
|
- mode = va_arg(ap, mode_t);
|
|
|
|
- va_end(ap);
|
|
|
|
|
|
+ mode_t mode = 0;
|
|
|
|
+
|
|
|
|
+ if (oflag & O_CREAT)
|
|
|
|
+ {
|
|
|
|
+ va_list arg;
|
|
|
|
+ va_start (arg, oflag);
|
|
|
|
+ mode = va_arg (arg, mode_t);
|
|
|
|
+ va_end (arg);
|
|
}
|
|
}
|
|
|
|
+
|
|
return __syscall_open(file, flags, mode);
|
|
return __syscall_open(file, flags, mode);
|
|
}
|
|
}
|
|
libc_hidden_def(__libc_open)
|
|
libc_hidden_def(__libc_open)
|