This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.
Section: 31.10 [file.streams] Status: NAD Submitter: Steve Clamage Opened: 2008-07-08 Last modified: 2017-06-15
Priority: Not Prioritized
View all other issues in [file.streams].
View all issues with NAD status.
Discussion:
Suppose writing to an [o]fstream
fails and you later close the stream
.
The overflow()
function is called to flush the buffer (if it exists).
Then the file is unconditionally closed, as if by calling flcose
.
If either overflow
or fclose
fails, close()
reports failure, and clearly
the stream
should be in a failed or bad state.
Suppose the buffer is empty or non-existent (so that overflow()
does not
fail), and fclose
succeeds. The close()
function reports success, but
what is the state of the stream
?
[ Batavia (2009-05): ]
Tom's impression is that the issue is about the
failbit
, etc.Bill responds that the stream is now closed, and any status bits remain unchanged.
See the description of
close()
in 31.10.6.4 [fstream.members].We prefer not to add wording to say that nothing changes. Move to NAD.
Proposed resolution: