summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2014-04-29 16:47:48 (GMT)
committerdgp@users.sourceforge.net <dgp>2014-04-29 16:47:48 (GMT)
commitb5a40d4328049e2a8cb096cd540a729833d7d0f6 (patch)
tree9db95a4680256c95cb043d1e64089224e1920afa
parentc58cd129f8e58a43f9c3f85d032642870115e921 (diff)
parente96d1d40db7b35918b0d6cddf7bcd0381250aee1 (diff)
downloadtcl-b5a40d4328049e2a8cb096cd540a729833d7d0f6.zip
tcl-b5a40d4328049e2a8cb096cd540a729833d7d0f6.tar.gz
tcl-b5a40d4328049e2a8cb096cd540a729833d7d0f6.tar.bz2
Fix bug exposed when buffer recycling is disabled.
-rw-r--r--generic/tclIO.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index e6439ef..673497b 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -3203,7 +3203,8 @@ Tcl_Close(
stickyError = 0;
- if ((statePtr->encoding != NULL) && (statePtr->curOutPtr != NULL)
+ if ((statePtr->encoding != NULL)
+ && !(statePtr->outputEncodingFlags & TCL_ENCODING_START)
&& (CheckChannelErrors(statePtr, TCL_WRITABLE) == 0)) {
statePtr->outputEncodingFlags |= TCL_ENCODING_END;
if (WriteChars(chanPtr, "", 0) < 0) {
@@ -7734,7 +7735,8 @@ Tcl_SetChannelOption(
* iso2022, the terminated escape sequence must write to the buffer.
*/
- if ((statePtr->encoding != NULL) && (statePtr->curOutPtr != NULL)
+ if ((statePtr->encoding != NULL)
+ && !(statePtr->outputEncodingFlags & TCL_ENCODING_START)
&& (CheckChannelErrors(statePtr, TCL_WRITABLE) == 0)) {
statePtr->outputEncodingFlags |= TCL_ENCODING_END;
WriteChars(chanPtr, "", 0);