bin/108118: [libc] files should not cache their EOF status
jilles at stack.nl
Sat Apr 4 08:00:08 PDT 2009
The following reply was made to PR bin/108118; it has been noted by GNATS.
From: Jilles Tjoelker <jilles at stack.nl>
To: bug-followup at FreeBSD.org, twschulz at trolltech.com,
freebsd-standards at freebsd.org
Subject: Re: bin/108118: [libc] files should not cache their EOF status
Date: Sat, 4 Apr 2009 16:56:29 +0200
The way I read POSIX, FreeBSD's current behaviour seems correct. Calling
fread(3) is equivalent to calling fgetc(3) an appropriate number of
times, and fgetc(3) shall fail if the end-of-file indicator is set for
the stream, even if data is available on the underlying file.
Apparently, POSIX aligns with the C standard here; System V tradition is
not to check the end-of-file indicator here. Both
src/lib/libc/stdio/refill.c (__srefill()) and Solaris fgetc(3) manpage
agree about this.
More information about the freebsd-bugs