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