Loading...
--- Libc/Libc-583/sys/open.c
+++ Libc/Libc-498.1.7/sys/open.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2009 Apple Inc. All rights reserved.
+ * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
@@ -22,26 +22,24 @@
*/
#include <sys/types.h>
-#include <fcntl.h>
-#include <stdarg.h>
+/*
+ * We need O_NOCTTY from fcntl.h, but that would also drag in the variadic
+ * prototype for open(), and so we'd have to use stdarg.h to get the mode.
+ * So open.h just contains O_NOCTTY, which it gets from fcntl.h.
+ *
+ * This is for legacy only.
+ */
+#include "open.h"
int __open_nocancel(const char *path, int flags, mode_t mode);
+int open(const char *path, int flags, mode_t mode) LIBC_ALIAS_C(open);
/*
* open stub: The legacy interface never automatically associated a controlling
* tty, so we always pass O_NOCTTY.
*/
int
-open(const char *path, int flags, ...)
+open(const char *path, int flags, mode_t mode)
{
- mode_t mode = 0;
-
- if(flags & O_CREAT) {
- va_list ap;
- va_start(ap, flags);
- // compiler warns to pass int (not mode_t) to va_arg
- mode = va_arg(ap, int);
- va_end(ap);
- }
return(__open_nocancel(path, flags | O_NOCTTY, mode));
}