summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-10-08 17:05:17 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-10-08 17:05:17 (GMT)
commit22febb8eb74da041ec0efb1aa81b8d03617224f1 (patch)
treec330a412f658257d44dcf5423be0b97fe9de3acd
parent8317204bd34466294632ccdc47bc6e79114bbfef (diff)
parentbd8e0ee8b7e71085e6e3ff9a22dbc8b2b28a77f7 (diff)
downloadtcl-22febb8eb74da041ec0efb1aa81b8d03617224f1.zip
tcl-22febb8eb74da041ec0efb1aa81b8d03617224f1.tar.gz
tcl-22febb8eb74da041ec0efb1aa81b8d03617224f1.tar.bz2
Merge 8.7
-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")) {