Defect report from : Don Cragun , Sun Microsystems, Inc.
(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)
@ page 866 line 28228 section perror objection {C99TC2:perror()}
Problem:
Edition of Specification (Year): 2004
Defect code : 1. Error
C99 TC2's addition of perror to paragraph 5, item 4 in subclause
7.19.1 made it clear that perror() is a byte input/output
function. Therefore, calling perror() requires implementations
to set the orientation of the stderr STDIO stream to byte
orientation if stderr is currently unoriented. This is in
direct conflict with the current last paragraph in the
description of perror() in POSIX:
"The perror() function shall not change the orientation
of the standard error stream."
Action:
Delete XSH6, P866, L28228.
Change the rationale on P867, L28252 from:
"None."
to:
"The original ISO C standard did not list perror() as a byte
input/output function. Therefore, perror() was not supposed
to modify the orientation of the stderr STDIO stream. ISO C
TC2 added perror() to the list of byte input/output functions.
Therefore, perror() is now required to the the orientation of
the stderr stream to byte orientation if the stream
orientation has not already been set."
|