diff mbox series

[v2] manual: Document that feof and ferror are mutually exclusive

Message ID 87frpoawsx.fsf@oldenburg.str.redhat.com
State New
Headers show
Series [v2] manual: Document that feof and ferror are mutually exclusive | expand

Commit Message

Florian Weimer Sept. 25, 2024, 9:48 a.m. UTC
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.

---
v2: Additional language to clarify that feof can be reported on wide streams.
 manual/stdio.texi | 9 +++++++++
 1 file changed, 9 insertions(+)


base-commit: 4ff55d08df0e6f11cbd217f4dca4532bd7d9330d
diff mbox series

Patch

diff --git a/manual/stdio.texi b/manual/stdio.texi
index 8590ae955a..c7a2b4a9a1 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -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