From d429ddf40d173212a0fadb4794b91096c58201a1 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 2 Apr 2020 20:36:04 +0000 Subject: More callers. --- generic/tclUtf.c | 33 ++++++++------------------------- 1 file 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') { -- cgit v0.12