JTC1/SC22/WG14
N777
Document Number: WG14 N777/J11 97-141
C9X Revision Proposal
=====================
Title: File position indicator after fgetc failure
Author: Fred J. Tydeman
Author Affiliation: Tydeman Consulting
Postal Address: 3711 Del Robles Dr., Austin, TX 78727-1814
E-mail Address: tydeman@tybor.com
Telephone Number: +1 (512) 255-8696
Fax Number: +1 (512) 255-8696
Sponsor: NCITS/J11
Date: 1997-09-25
Document History: N/A.
Proposal Category:
__ Editorial change/non-normative contribution
_Y Correction
__ New feature
__ Addition to obsolescent feature list
__ Addition to Future Directions
__ Other (please specify) ______________________________
Area of Standard Affected:
__ Environment
__ Language
__ Preprocessor
_Y Library
__ Macro/typedef/tag name
_Y Function
__ Header
__ Other (please specify) ______________________________
Prior Art: Not sure_________________________________________
Target Audience: All users.
Related Documents (if any): SC22WG14.2615__________________
Proposal Attached: _Y Yes __ No, but what's your interest?
Abstract: Have fgetc advance the file position indicator if
and only if it obtains a character.
Proposal:
In 7.12.8.1 The fgetc Function and in 7.18.3.1 The fgetwc
Function,
change in the description:
"... and advances the associated file position indicator for
the stream (if defined)."
to:
"... and advances the associated file position indicator for
the stream (if defined) if and only if the next [wide]
character was present."
Rationale:
In previous email to the WG14 reflector, around June, 1996,
several of us agreed that fgetc was unclear about the file
position indicator if end-of-file or error indicator was set
by fgetc and that a DR should be done. As far as I know,
no one did that DR. This is my suggested fix to the problem.
This fix appears to not conflict with footnote 165 in 7.12.3
Files: "Setting the file position indicator to end-of-file,
as with fseek(file,0,SEEK_END), has undefined behavior for a
binary stream (because of possible trailing null characters)
..."