This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] manual: fopen with the x flag does not follow ISO C11


On 12/10/19 4:18 AM, Florian Weimer wrote:
I think it is worth clarifying that glibc's x specifier only results in
O_EXCL and nothing else.

Although the glibc manual already says "x" means O_EXCL, I agree it'd be nice for it to also say that this behavior is compatible with ISO C. That is, the manual shouldn't imply that some standards require behavior other than O_EXCL.

How about the attached patch?

A different topic: shouldn't the manual refer to ISO C18 (the current version of the C standard) rather than to ISO C11 (the previous one)?
>From 20e37c044d4ebbaf593117364d8ad995c7628c2a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 10 Dec 2019 14:22:36 -0800
Subject: [PATCH] manual: clarify fopen with the x flag

* manual/stdio.texi (Opening Streams): Say how glibc's
implementation of fopen with "x" follows ISO C11.
---
 manual/stdio.texi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/manual/stdio.texi b/manual/stdio.texi
index bbd3061bab..5caeacf595 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -216,7 +216,9 @@ exists, @code{fopen} fails rather than opening it.  If you use
 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 C11}.
+The @samp{x} modifier is part of @w{ISO C11}, which says the file is
+created with exclusive access; in @theglibc{} this means the
+equivalent of @code{O_EXCL}, which is common practice.
 @end table
 
 The character @samp{b} in @var{opentype} has a standard meaning; it
-- 
2.23.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]