diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-12 01:00:58 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-02-12 01:00:58 (GMT) |
commit | bfaa709c2e5c8d857021cf983e97f1946cff0b06 (patch) | |
tree | 5594d69acf2fafdf9d5e2a84355c4a31ead87bad /generic | |
parent | c529405c659f132d217336a626895a13a0ecaef0 (diff) | |
parent | 3954b7c2a3da78ea609c42339cf7ed4e62aee30b (diff) | |
download | tcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.zip tcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.tar.gz tcl-bfaa709c2e5c8d857021cf983e97f1946cff0b06.tar.bz2 |
Merge 8.7
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclIO.c | 8 |
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)) { |