summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2020-04-02 20:36:04 (GMT)
committerdgp <dgp@users.sourceforge.net>2020-04-02 20:36:04 (GMT)
commitd429ddf40d173212a0fadb4794b91096c58201a1 (patch)
treea51a0757fc4a99328bc0228804850c7f70ce91f8
parentfbf2a3255bd9e59c1a84415305da87b202330606 (diff)
downloadtcl-d429ddf40d173212a0fadb4794b91096c58201a1.zip
tcl-d429ddf40d173212a0fadb4794b91096c58201a1.tar.gz
tcl-d429ddf40d173212a0fadb4794b91096c58201a1.tar.bz2
More callers.
-rw-r--r--generic/tclUtf.c33
1 files changed, 8 insertions, 25 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c
index 0db06bd..8f02790 100644
--- a/generic/tclUtf.c
+++ b/generic/tclUtf.c
@@ -578,19 +578,11 @@ Tcl_UtfFindFirst(
const char *src, /* The UTF-8 string to be searched. */
int ch) /* The Unicode character to search for. */
{
- int len, fullchar;
- Tcl_UniChar find = 0;
-
+fprintf(stdout, "COVER\n"); fflush(stdout);
while (1) {
- len = TclUtfToUniChar(src, &find);
- fullchar = find;
-#if TCL_UTF_MAX <= 4
- if ((fullchar != ch) && (find >= 0xD800) && (len < 3)) {
- len += TclUtfToUniChar(src + len, &find);
- fullchar = (((fullchar & 0x3FF) << 10) | (find & 0x3FF)) + 0x10000;
- }
-#endif
- if (fullchar == ch) {
+ int ucs4, len = TclUtfToUCS4(src, &ucs4);
+
+ if (ucs4 == ch) {
return src;
}
if (*src == '\0') {
@@ -624,21 +616,12 @@ Tcl_UtfFindLast(
const char *src, /* The UTF-8 string to be searched. */
int ch) /* The Unicode character to search for. */
{
- int len, fullchar;
- Tcl_UniChar find = 0;
- const char *last;
+ const char *last = NULL;
- last = NULL;
while (1) {
- len = TclUtfToUniChar(src, &find);
- fullchar = find;
-#if TCL_UTF_MAX <= 4
- if ((fullchar != ch) && (find >= 0xD800) && (len < 3)) {
- len += TclUtfToUniChar(src + len, &find);
- fullchar = (((fullchar & 0x3FF) << 10) | (find & 0x3FF)) + 0x10000;
- }
-#endif
- if (fullchar == ch) {
+ int ucs4, len = TclUtfToUCS4(src, &ucs4);
+
+ if (ucs4 == ch) {
last = src;
}
if (*src == '\0') {