summaryrefslogtreecommitdiffstats
path: root/generic/tclEncoding.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-19 13:04:51 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-19 13:04:51 (GMT)
commit50eeabb1014676f4bcc1fe38a06a5d3ef8806044 (patch)
treeea19a01182ab3d00f84e42a18d743db18b4dd42f /generic/tclEncoding.c
parent0a3cfc79026050f3740f75dc472a4cd5ff284b57 (diff)
downloadtcl-50eeabb1014676f4bcc1fe38a06a5d3ef8806044.zip
tcl-50eeabb1014676f4bcc1fe38a06a5d3ef8806044.tar.gz
tcl-50eeabb1014676f4bcc1fe38a06a5d3ef8806044.tar.bz2
Bugfix for escape-encoding, 'stolen' from TIP #671 branch
Diffstat (limited to 'generic/tclEncoding.c')
-rw-r--r--generic/tclEncoding.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index 539b520..deaabaa 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -3961,9 +3961,10 @@ EscapeToUtfProc(
if ((checked == dataPtr->numSubTables + 2)
|| (flags & TCL_ENCODING_END)) {
if (!PROFILE_STRICT(flags)) {
+ unsigned skip = longest > left ? left : longest;
/* Unknown escape sequence */
dst += Tcl_UniCharToUtf(UNICODE_REPLACE_CHAR, dst);
- src += longest;
+ src += skip;
continue;
}
result = TCL_CONVERT_SYNTAX;