Module Name: src
Committed By: riz
Date: Wed Nov 28 23:50:57 UTC 2012
Modified Files:
src/lib/libc/stdio [netbsd-6]: flags.c fopen.3
Log Message:
Pull up following revision(s) (requested by christos in ticket #723):
lib/libc/stdio/flags.c: revision 1.17
lib/libc/stdio/fopen.3: revision 1.29
Add 'x' to the mode bits to specify O_EXCL, like glibc.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.15.4.1 src/lib/libc/stdio/flags.c
cvs rdiff -u -r1.27 -r1.27.4.1 src/lib/libc/stdio/fopen.3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/stdio/flags.c
diff -u src/lib/libc/stdio/flags.c:1.15 src/lib/libc/stdio/flags.c:1.15.4.1
--- src/lib/libc/stdio/flags.c:1.15 Sun Jun 26 16:42:41 2011
+++ src/lib/libc/stdio/flags.c Wed Nov 28 23:50:57 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: flags.c,v 1.15 2011/06/26 16:42:41 christos Exp $ */
+/* $NetBSD: flags.c,v 1.15.4.1 2012/11/28 23:50:57 riz Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)flags.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: flags.c,v 1.15 2011/06/26 16:42:41 christos Exp $");
+__RCSID("$NetBSD: flags.c,v 1.15.4.1 2012/11/28 23:50:57 riz Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -90,6 +90,7 @@ __sflags(const char *mode, int *optr)
* [rwa]\+ or [rwa]b\+ means read and write
* f means open only plain files,
* e means set close on exec.
+ * x means exclusive open.
*/
for (; *mode; mode++)
switch (*mode) {
@@ -103,6 +104,9 @@ __sflags(const char *mode, int *optr)
case 'e':
o |= O_CLOEXEC;
break;
+ case 'x':
+ o |= O_EXCL;
+ break;
case 'b':
break;
default: /* We could produce a warning here */
Index: src/lib/libc/stdio/fopen.3
diff -u src/lib/libc/stdio/fopen.3:1.27 src/lib/libc/stdio/fopen.3:1.27.4.1
--- src/lib/libc/stdio/fopen.3:1.27 Mon Jul 18 05:17:16 2011
+++ src/lib/libc/stdio/fopen.3 Wed Nov 28 23:50:57 2012
@@ -1,4 +1,4 @@
-.\" $NetBSD: fopen.3,v 1.27 2011/07/18 05:17:16 jruoho Exp $
+.\" $NetBSD: fopen.3,v 1.27.4.1 2012/11/28 23:50:57 riz Exp $
.\"
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -33,7 +33,7 @@
.\"
.\" @(#)fopen.3 8.1 (Berkeley) 6/4/93
.\"
-.Dd July 18, 2011
+.Dd November 14, 2012
.Dt FOPEN 3
.Os
.Sh NAME
@@ -118,6 +118,12 @@ will fail.
This is a non
.St -ansiC
extension.
+.It Sq x
+The letter
+.Sq x
+in the mode turns on exclusive open mode to the file (
+.Dv O_EXCL )
+which means that the file will not be created if it already exists.
.El
.Pp
Any created files will have mode