diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-18 22:11:45 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-18 22:11:45 (GMT) |
commit | 5204a77ccd7306b8ed7c3c264c88171f68180efd (patch) | |
tree | e07445a1c633235ea04deb169124d7d12867f71c /generic/tkSelect.c | |
parent | 1d435ce1f0cd4775332957c719ee82d78bf926b7 (diff) | |
download | tk-5204a77ccd7306b8ed7c3c264c88171f68180efd.zip tk-5204a77ccd7306b8ed7c3c264c88171f68180efd.tar.gz tk-5204a77ccd7306b8ed7c3c264c88171f68180efd.tar.bz2 |
Eliminate two Tcl_UtfNext() calls, because the UtfToUniChar() variants are more likely to do the right thing when surrogates are involved.
Diffstat (limited to 'generic/tkSelect.c')
-rw-r--r-- | generic/tkSelect.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tkSelect.c b/generic/tkSelect.c index c64c93f..5c71465 100644 --- a/generic/tkSelect.c +++ b/generic/tkSelect.c @@ -1400,11 +1400,12 @@ HandleTclCommand( cmdInfoPtr->charOffset += Tcl_NumUtfChars(string, -1); cmdInfoPtr->buffer[0] = '\0'; } else { + Tcl_UniChar ch = 0; p = string; string += count; numChars = 0; while (p < string) { - p = Tcl_UtfNext(p); + p += Tcl_UtfToUniChar(p, &ch); numChars++; } cmdInfoPtr->charOffset += numChars; |