summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2002-01-21 20:38:06 (GMT)
committerandreas_kupries <akupries@shaw.ca>2002-01-21 20:38:06 (GMT)
commit50d8ac09b879ca8d7d65a69eb214b4a200061ab3 (patch)
treeb55eec77eccf5f16f69e282f66eca0af288d3ee5 /ChangeLog
parent5555aa01aae3d96fdff9f094f83516fdee086727 (diff)
downloadtcl-50d8ac09b879ca8d7d65a69eb214b4a200061ab3.zip
tcl-50d8ac09b879ca8d7d65a69eb214b4a200061ab3.tar.gz
tcl-50d8ac09b879ca8d7d65a69eb214b4a200061ab3.tar.bz2
* generic/tclIO.c (WriteChars): Fix for SF #506297, reported by
Martin Forssen <ruric@users.sourceforge.net>. The encoding chosen in the script exposing the bug writes out three intro characters when TCL_ENCODING_START is set, but does not consume any input as TCL_ENCODING_END is cleared. As some output was generated the enclosing loop calls UtfToExternal again, again with START set. Three more characters in the out and still no use of input ... To break this infinite loop we remove TCL_ENCODING_START from the set of flags after the first call (no condition is required, the later calls remove an unset flag, which is a no-op). This causes the subsequent calls to UtfToExternal to consume and convert the actual input.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e52c431..986a9b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2002-01-21 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+
+ * generic/tclIO.c (WriteChars): Fix for SF #506297, reported by
+ Martin Forssen <ruric@users.sourceforge.net>. The encoding
+ chosen in the script exposing the bug writes out three intro
+ characters when TCL_ENCODING_START is set, but does not consume
+ any input as TCL_ENCODING_END is cleared. As some output was
+ generated the enclosing loop calls UtfToExternal again, again
+ with START set. Three more characters in the out and still no
+ use of input ... To break this infinite loop we remove
+ TCL_ENCODING_START from the set of flags after the first call
+ (no condition is required, the later calls remove an unset flag,
+ which is a no-op). This causes the subsequent calls to
+ UtfToExternal to consume and convert the actual input.
+
2002-01-21 Don Porter <dgp@users.sourceforge.net>
* generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand,