From 3181ee9123bf2402abeba55ca2b9469d74382ed1 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 13 Nov 2019 09:07:08 +0000 Subject: Fix TIP #389 implementation, bug [d433c0e0ad]: TCL_UTF_MAX == 4 problems. Thanks to Christian Werner for the report. --- generic/tclEncoding.c | 2 +- generic/tclInt.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c index 002c765..1c1f94c 100644 --- a/generic/tclEncoding.c +++ b/generic/tclEncoding.c @@ -2366,7 +2366,7 @@ UtfToUtfProc( dst += Tcl_UniCharToUtf(*chPtr, dst); #if TCL_UTF_MAX == 4 if ((*chPtr >= 0xD800) && (len < 3)) { - src += TclUtfToUniChar(src + len, chPtr); + src += Tcl_UtfToUniChar(src + len, chPtr); dst += Tcl_UniCharToUtf(*chPtr, dst); } #endif diff --git a/generic/tclInt.h b/generic/tclInt.h index 9038a56..39fb740 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -4429,7 +4429,7 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file, */ #define TclUtfToUniChar(str, chPtr) \ - ((((unsigned char) *(str)) < 0xC0) ? \ + ((((unsigned char) *(str)) < 0x80) ? \ ((*(chPtr) = (unsigned char) *(str)), 1) \ : Tcl_UtfToUniChar(str, chPtr)) -- cgit v0.12