diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-04 12:31:51 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-04 12:31:51 (GMT) |
| commit | 7759441602f14b3772186ea0d87f61ffdafc8404 (patch) | |
| tree | c8aac29d738caa3756201b63f7a4b9a81f27ad47 /generic/tclExecute.c | |
| parent | 66197cab8b6c43b474a6dceae32fc95f4eed37b9 (diff) | |
| download | tcl-7759441602f14b3772186ea0d87f61ffdafc8404.zip tcl-7759441602f14b3772186ea0d87f61ffdafc8404.tar.gz tcl-7759441602f14b3772186ea0d87f61ffdafc8404.tar.bz2 | |
New internal function TclGetUCS4() only available when TCL_UTF_MAX=4. This fixes all "knownBug" testcases related to tip389.
Diffstat (limited to 'generic/tclExecute.c')
| -rw-r--r-- | generic/tclExecute.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index f38e752..eeb69de 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -5571,16 +5571,10 @@ TEBCresume( objResultPtr = Tcl_NewStringObj((const char *) valuePtr->bytes+index, 1); } else { - char buf[4] = ""; - Tcl_UniChar ch = Tcl_GetUniChar(valuePtr, index); + char buf[8] = ""; + int ch = TclGetUCS4(valuePtr, index); - /* - * This could be: Tcl_NewUnicodeObj((const Tcl_UniChar *)&ch, 1) - * but creating the object as a string seems to be faster in - * practical use. - */ - - length = Tcl_UniCharToUtf(ch, buf); + length = TclUCS4ToUtf(ch, buf); objResultPtr = Tcl_NewStringObj(buf, length); } |
