diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-07-31 19:47:23 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-07-31 19:47:23 (GMT) |
commit | 61af2ea8d322574d4e2abe9015cede6565f2794f (patch) | |
tree | a1e59f78b036f378d146185065353dce3c42e2ba /generic | |
parent | 3ab4e9ca24a8f7e98e3f7e3040130ba4e3caf2dc (diff) | |
parent | 355ce624c0d79439fafb96eadcbc19380e8a4e9f (diff) | |
download | tcl-61af2ea8d322574d4e2abe9015cede6565f2794f.zip tcl-61af2ea8d322574d4e2abe9015cede6565f2794f.tar.gz tcl-61af2ea8d322574d4e2abe9015cede6565f2794f.tar.bz2 |
Merge 8.5
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclUtf.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c index d3d33c2..4b70f96 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -383,14 +383,14 @@ Tcl_UtfToUniChar( #else *chPtr = (((byte & 0x07) << 18) | ((src[1] & 0x3F) << 12) | ((src[2] & 0x3F) << 6) | (src[3] & 0x3F)); - if ((*chPtr - 0x10000) <= 0xFFFFF) { + if ((unsigned)(*chPtr - 0x10000) <= 0xFFFFF) { return 4; } #endif } /* - * A four-byte-character lead-byte not followed by two trail-bytes + * A four-byte-character lead-byte not followed by three trail-bytes * represents itself. */ } @@ -898,7 +898,7 @@ Tcl_UtfToUpper( */ if (len < UtfCount(upChar)) { - memcpy(dst, src, len); + memmove(dst, src, len); dst += len; } else { dst += Tcl_UniCharToUtf(upChar, dst); @@ -951,7 +951,7 @@ Tcl_UtfToLower( */ if (len < UtfCount(lowChar)) { - memcpy(dst, src, len); + memmove(dst, src, len); dst += len; } else { dst += Tcl_UniCharToUtf(lowChar, dst); @@ -1001,7 +1001,7 @@ Tcl_UtfToTitle( titleChar = Tcl_UniCharToTitle(ch); if (len < UtfCount(titleChar)) { - memcpy(dst, src, len); + memmove(dst, src, len); dst += len; } else { dst += Tcl_UniCharToUtf(titleChar, dst); @@ -1017,7 +1017,7 @@ Tcl_UtfToTitle( } if (len < UtfCount(lowChar)) { - memcpy(dst, src, len); + memmove(dst, src, len); dst += len; } else { dst += Tcl_UniCharToUtf(lowChar, dst); |