]> sourceware.org Git - glibc.git/commitdiff
manual: Document that feof and ferror are mutually exclusive
authorFlorian Weimer <fweimer@redhat.com>
Fri, 27 Sep 2024 09:41:12 +0000 (11:41 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Fri, 27 Sep 2024 09:41:14 +0000 (11:41 +0200)
This is not completely clear from the C standard (although there
is footnote number 289 in C11), but I assume that our implementation
works this way.

Reviewed-by: DJ Delorie <dj@redhat.com>
manual/stdio.texi

index 8590ae955a9cb028e36e17dd15961cc2a106f23e..c7a2b4a9a113a2a3480d55b2b2fd4c99e03aa94f 100644 (file)
@@ -4168,6 +4168,15 @@ check indicators that are part of the internal state of the stream
 object, indicators set if the appropriate condition was detected by a
 previous I/O operation on that stream.
 
+The end of file and error conditions are mutually exclusive.  For a
+narrow oriented stream, end of file is not considered an error.  For
+wide oriented streams, reaching the end of the underlying file can
+result an error if the underlying file ends with an incomplete multibyte
+sequence.  This is reported as an error by @code{ferror}, and not as an
+end of file by @code{feof}.  End of file on wide oriented streams that
+does not fall into the middle of a multibyte sequence is reported via
+@code{feof}.
+
 @deftypevr Macro int EOF
 @standards{ISO, stdio.h}
 This macro is an integer value that is returned by a number of narrow
This page took 0.044541 seconds and 5 git commands to generate.