summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-02-12 01:00:58 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-02-12 01:00:58 (GMT)
commitbfaa709c2e5c8d857021cf983e97f1946cff0b06 (patch)
tree5594d69acf2fafdf9d5e2a84355c4a31ead87bad /generic
parentc529405c659f132d217336a626895a13a0ecaef0 (diff)
parent3954b7c2a3da78ea609c42339cf7ed4e62aee30b (diff)
downloadtcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.zip
tcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.tar.gz
tcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.tar.bz2
Merge 8.7
Diffstat (limited to 'generic')
-rw-r--r--generic/tclIO.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 98315db..26d0011 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -9695,12 +9695,20 @@ CopyData(
Tcl_SetErrno(inStatePtr->unreportedError);
inStatePtr->unreportedError = 0;
goto readError;
+ } else if (inStatePtr->flags & CHANNEL_ENCODING_ERROR) {
+ Tcl_SetErrno(EILSEQ);
+ inStatePtr->flags &= ~CHANNEL_ENCODING_ERROR;
+ goto readError;
}
Tcl_GetChannelError(outChan, &msg);
if ((outStatePtr->unreportedError != 0) || (msg != NULL)) {
Tcl_SetErrno(outStatePtr->unreportedError);
outStatePtr->unreportedError = 0;
goto writeError;
+ } else if (outStatePtr->flags & CHANNEL_ENCODING_ERROR) {
+ Tcl_SetErrno(EILSEQ);
+ outStatePtr->flags &= ~CHANNEL_ENCODING_ERROR;
+ goto writeError;
}
if (cmdPtr && (mask == 0)) {