summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 3205ccc..29ccebb 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -4399,6 +4399,8 @@ Write(
if (GotFlag(statePtr, CHANNEL_ENCODING_STRICT)) {
statePtr->outputEncodingFlags |= TCL_ENCODING_STRICT;
+ } else {
+ statePtr->outputEncodingFlags &= ~TCL_ENCODING_STRICT;
}
/*
@@ -4722,6 +4724,8 @@ Tcl_GetsObj(
if (GotFlag(statePtr, CHANNEL_ENCODING_STRICT)) {
statePtr->inputEncodingFlags |= TCL_ENCODING_STRICT;
+ } else {
+ statePtr->inputEncodingFlags &= ~TCL_ENCODING_STRICT;
}
/*
@@ -5487,6 +5491,8 @@ FilterInputBytes(
if (GotFlag(statePtr, CHANNEL_ENCODING_STRICT)) {
statePtr->inputEncodingFlags |= TCL_ENCODING_STRICT;
+ } else {
+ statePtr->inputEncodingFlags &= ~TCL_ENCODING_STRICT;
}
result = Tcl_ExternalToUtf(NULL, gsPtr->encoding, raw, rawLen,
@@ -6267,6 +6273,8 @@ ReadChars(
if (GotFlag(statePtr, CHANNEL_ENCODING_STRICT)) {
statePtr->inputEncodingFlags |= TCL_ENCODING_STRICT;
+ } else {
+ statePtr->inputEncodingFlags &= ~TCL_ENCODING_STRICT;
}
/*
@@ -8319,6 +8327,8 @@ Tcl_SetChannelOption(
return TCL_ERROR;
}
SetFlag(statePtr, CHANNEL_ENCODING_STRICT);
+ } else {
+ ResetFlag(statePtr, CHANNEL_ENCODING_STRICT);
}
return TCL_OK;
} else if (HaveOpt(1, "-translation")) {