summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/gets.n6
-rw-r--r--doc/puts.n6
-rw-r--r--doc/read.n15
3 files changed, 27 insertions, 0 deletions
diff --git a/doc/gets.n b/doc/gets.n
index 57532c0..0e4239f 100644
--- a/doc/gets.n
+++ b/doc/gets.n
@@ -47,6 +47,12 @@ produce the same results as if there were an input line consisting
only of the end-of-line character(s).
The \fBeof\fR and \fBfblocked\fR commands can be used to distinguish
these three cases.
+.SH "ENCODING ERRORS"
+.PP
+Encoding errors may exist, if the encoding profile \fBstrict\fR is used.
+An encoding error is reported by the POSIX error code \fBEILSEQ\fR.
+The file pointer is unchanged in the error case and an eventual returned
+character count is \fB-1\fR.
.SH "EXAMPLE"
This example reads a file one line at a time and prints it out with
the current line number attached to the start of each line.
diff --git a/doc/puts.n b/doc/puts.n
index 0e23c80..e8df581 100644
--- a/doc/puts.n
+++ b/doc/puts.n
@@ -62,6 +62,12 @@ To avoid wasting memory, nonblocking I/O should normally
be used in an event-driven fashion with the \fBfileevent\fR command
(do not invoke \fBputs\fR unless you have recently been notified
via a file event that the channel is ready for more output data).
+.SH "ENCODING ERRORS"
+.PP
+Encoding errors may exist, if the encoding profile \fBstrict\fR is used.
+\fBputs\fR writes out data until an encoding error occurs and fails with
+POSIX error code \fBEILSEQ\fR on a non encodable data.
+
.SH EXAMPLES
.PP
Write a short message to the console (or wherever \fBstdout\fR is
diff --git a/doc/read.n b/doc/read.n
index 9a9a7e8..2a865da 100644
--- a/doc/read.n
+++ b/doc/read.n
@@ -50,6 +50,21 @@ newline characters according to the \fB\-translation\fR option
for the channel.
See the \fBfconfigure\fR manual entry for a discussion on ways in
which \fBfconfigure\fR will alter input.
+.SH "ENCODING ERRORS"
+.PP
+Encoding errors may exist, if the encoding profile \fBstrict\fR is used.
+An encoding error is reported by the POSIX error code \fBEILSEQ\fR.
+.PP
+In blocking mode, the error is directly thrown, even, if there is a
+leading decodable data portion.
+The file pointer is advanced just before the encoding error.
+An eventual well decoded data chunk before the encoding error is lost.
+It is proposed to return this portion within the additional key \fB-data\fR
+in the error dictionary.
+.PP
+In non blocking mode, first, any data without encoding error is returned
+(without error state).
+In the next call, no data is returned and the \fBEILSEQ\fR error state is set.
.SH "USE WITH SERIAL PORTS"
'\" Note: this advice actually applies to many versions of Tcl
.PP