diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-08 08:11:04 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-08 08:11:04 (GMT) |
| commit | 54adbbe05cd04c6fb6d82bb36d4f9f36a5cb7ad5 (patch) | |
| tree | 7a2945ffc6d43766d80b656dd51a1a38a1000205 /generic/tclCmdMZ.c | |
| parent | 9848eb222d2b55f472945b371bd3523a89014f97 (diff) | |
| parent | c7de8a1d22c60626b19b0bb57ac58fa7d9d5cc16 (diff) | |
| download | tcl-54adbbe05cd04c6fb6d82bb36d4f9f36a5cb7ad5.zip tcl-54adbbe05cd04c6fb6d82bb36d4f9f36a5cb7ad5.tar.gz tcl-54adbbe05cd04c6fb6d82bb36d4f9f36a5cb7ad5.tar.bz2 | |
Merge 8.7
Diffstat (limited to 'generic/tclCmdMZ.c')
| -rw-r--r-- | generic/tclCmdMZ.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 8f5ad7a..bc7874a 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -1175,7 +1175,7 @@ Tcl_SplitObjCmd( int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - Tcl_UniChar ch = 0; + int ch = 0; int len; const char *splitChars; const char *stringPtr; @@ -1218,10 +1218,8 @@ Tcl_SplitObjCmd( Tcl_InitHashTable(&charReuseTable, TCL_ONE_WORD_KEYS); for ( ; stringPtr < end; stringPtr += len) { - int ucs4; - - len = TclUtfToUCS4(stringPtr, &ucs4); - hPtr = Tcl_CreateHashEntry(&charReuseTable, INT2PTR(ucs4), &isNew); + len = TclUtfToUCS4(stringPtr, &ch); + hPtr = Tcl_CreateHashEntry(&charReuseTable, INT2PTR(ch), &isNew); if (isNew) { TclNewStringObj(objPtr, stringPtr, len); @@ -1256,7 +1254,7 @@ Tcl_SplitObjCmd( } else { const char *element, *p, *splitEnd; size_t splitLen; - Tcl_UniChar splitChar = 0; + int splitChar; /* * Normal case: split on any of a given set of characters. Discard @@ -1266,9 +1264,9 @@ Tcl_SplitObjCmd( splitEnd = splitChars + splitCharLen; for (element = stringPtr; stringPtr < end; stringPtr += len) { - len = TclUtfToUniChar(stringPtr, &ch); + len = TclUtfToUCS4(stringPtr, &ch); for (p = splitChars; p < splitEnd; p += splitLen) { - splitLen = TclUtfToUniChar(p, &splitChar); + splitLen = TclUtfToUCS4(p, &splitChar); if (ch == splitChar) { TclNewStringObj(objPtr, element, stringPtr - element); Tcl_ListObjAppendElement(NULL, listPtr, objPtr); @@ -2487,9 +2485,7 @@ StringRevCmd( * StringStartCmd -- * * This procedure is invoked to process the "string wordstart" Tcl - * command. See the user documentation for details on what it does. Note - * that this command only functions correctly on properly formed Tcl UTF - * strings. + * command. See the user documentation for details on what it does. * * Results: * A standard Tcl result. @@ -2507,7 +2503,7 @@ StringStartCmd( int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - Tcl_UniChar ch = 0; + int ch; const char *p, *string; size_t numChars, length, cur, index; @@ -2529,7 +2525,7 @@ StringStartCmd( if (index + 1 > 1) { p = Tcl_UtfAtIndex(string, index); for (cur = index; cur != TCL_INDEX_NONE; cur--) { - TclUtfToUniChar(p, &ch); + TclUtfToUCS4(p, &ch); if (!Tcl_UniCharIsWordChar(ch)) { break; } @@ -2549,8 +2545,7 @@ StringStartCmd( * StringEndCmd -- * * This procedure is invoked to process the "string wordend" Tcl command. - * See the user documentation for details on what it does. Note that this - * command only functions correctly on properly formed Tcl UTF strings. + * See the user documentation for details on what it does. * * Results: * A standard Tcl result. @@ -2568,7 +2563,7 @@ StringEndCmd( int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - Tcl_UniChar ch = 0; + int ch; const char *p, *end, *string; size_t length, numChars, cur, index; @@ -2590,7 +2585,7 @@ StringEndCmd( p = Tcl_UtfAtIndex(string, index); end = string+length; for (cur = index; p < end; cur++) { - p += TclUtfToUniChar(p, &ch); + p += TclUtfToUCS4(p, &ch); if (!Tcl_UniCharIsWordChar(ch)) { break; } |
