bin/108118: [libc] files should not cache their EOF status
Jilles Tjoelker
jilles at stack.nl
Sat Apr 4 07:56:45 PDT 2009
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.
--
Jilles Tjoelker
More information about the freebsd-standards
mailing list