summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-12-09 23:27:19 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-12-09 23:27:19 (GMT)
commit3b293d276cdef1501eeaab73b6addfbec897da7d (patch)
tree789a4f369f8a4d76b1a1e3a0bba20156d03b8dba /generic/tclIO.c
parent1a21edb59250cdae54af5eab910e283beb0a12e0 (diff)
parent4aa0db664d74cf15c8c60532ee55a42877181c4a (diff)
downloadtcl-3b293d276cdef1501eeaab73b6addfbec897da7d.zip
tcl-3b293d276cdef1501eeaab73b6addfbec897da7d.tar.gz
tcl-3b293d276cdef1501eeaab73b6addfbec897da7d.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 93d1d46..0eb6881 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -7536,7 +7536,7 @@ Tcl_Eof(
ChannelState *statePtr = ((Channel *) chan)->state;
/* State of real channel structure. */
- return GotFlag(statePtr, CHANNEL_EOF) ? 1 : 0;
+ return (GotFlag(statePtr, CHANNEL_EOF) && !GotFlag(statePtr, CHANNEL_ENCODING_ERROR)) ? 1 : 0;
}
/*
@@ -8207,7 +8207,7 @@ Tcl_SetChannelOption(
statePtr->inputEncodingFlags = TCL_ENCODING_START;
statePtr->outputEncodingState = NULL;
statePtr->outputEncodingFlags = TCL_ENCODING_START;
- ResetFlag(statePtr, CHANNEL_NEED_MORE_DATA);
+ ResetFlag(statePtr, CHANNEL_NEED_MORE_DATA|CHANNEL_ENCODING_ERROR);
UpdateInterest(chanPtr);
return TCL_OK;
} else if (HaveOpt(2, "-eofchar")) {