BZ#10254: Explain additional fopen parameters
Andreas Jaeger
aj@suse.com
Mon Apr 9 15:14:00 GMT 2012
On 04/09/2012 02:43 PM, Kalle Olavi Niemitalo wrote:
> Andreas Jaeger<aj@suse.com> writes:
>
>> +@item x
>> +Insist on creating a new file---if a file @var{filename} already
>> +exists, @code{fopen} fails rather than opening it. If you use
>> +@samp{x} you are guaranteed that you will not clobber an existing
>> +file. This is equivalent to the @code{O_EXCL} option to the
>> +@code{open} function (@pxref{Opening and Closing Files})
>
> This meaning of "x" is also in the N1570 draft of C11. Unless
> the ratified C11 standard differs in this, I think the glibc
> manual should mention that "x" is not solely a glibc extension,
> and that portable programs using "x" should make it the last
> character of the string.
Thanks for the info, I've updated the patch.
Ok now to commit?
Andreas
2012-04-09 Andreas Jaeger <aj@suse.de>
[BZ #10254]
* manual/stdio.texi (Opening Streams): Document additional fopen
parameters.
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 0d23daa..3ba0cac 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -196,13 +196,30 @@ Additional characters may appear after these to
specify flags for the
call. Always put the mode (@samp{r}, @samp{w+}, etc.) first; that is
the only part you are guaranteed will be understood by all systems.
-@Theglibc{} defines one additional character for use in
-@var{opentype}: the character @samp{x} insists on creating a new
-file---if a file @var{filename} already exists, @code{fopen} fails
-rather than opening it. If you use @samp{x} you are guaranteed that
-you will not clobber an existing file. This is equivalent to the
-@code{O_EXCL} option to the @code{open} function (@pxref{Opening and
-Closing Files}).
+@Theglibc{} defines additional character fors use in @var{opentype}:
+
+@table @samp
+@item c
+The file is opened with cancellation in the I/O functions disabled.
+
+@item e
+The file is opened with the flag @code{O_CLOEXEC}, thus it is closed
+if you use any of the @code{exec@dots{}} functions (@pxref{Executing a
+File}).
+
+@item m
+The file is opened and accessed using @code{mmap}. This is only
+supported with files opened for reading.
+
+@item x
+Insist on creating a new file---if a file @var{filename} already
+exists, @code{fopen} fails rather than opening it. If you use
+@samp{x} you are guaranteed that you will not clobber an existing
+file. This is equivalent to the @code{O_EXCL} option to the
+@code{open} function (@pxref{Opening and Closing Files})
+
+The @samp{x} modifier is part of @w{ISO C 11}.
+@end table
The character @samp{b} in @var{opentype} has a standard meaning; it
requests a binary stream rather than a text stream. But this makes no
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
More information about the Libc-alpha
mailing list