summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-22 09:41:00 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-22 09:41:00 (GMT)
commit44357a25341fc6b531fda7e2d69f83c05ad7702d (patch)
tree6e41e7c1d4f4b4a4ec079e230f3bb1dcbdcabbd1
parent133af7524b7bdfc62eb504a932faef09a0ae03e9 (diff)
downloadtcl-44357a25341fc6b531fda7e2d69f83c05ad7702d.zip
tcl-44357a25341fc6b531fda7e2d69f83c05ad7702d.tar.gz
tcl-44357a25341fc6b531fda7e2d69f83c05ad7702d.tar.bz2
code cleanup: use more *SURROGATE() macro's
-rw-r--r--generic/tclEncoding.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index fc62d7c..fc9d241 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -2778,7 +2778,7 @@ Utf32ToUtfProc(
} else {
ch = (src[0] & 0xFF) << 24 | (src[1] & 0xFF) << 16 | (src[2] & 0xFF) << 8 | (src[3] & 0xFF);
}
- if (((prev & ~0x3FF) == 0xD800) && ((ch & ~0x3FF) != 0xDC00)) {
+ if (HIGH_SURROGATE(prev) && !LOW_SURROGATE(ch)) {
/* Bug [10c2c17c32]. If Hi surrogate not followed by Lo surrogate, finish 3-byte UTF-8 */
dst += Tcl_UniCharToUtf(-1, dst);
}
@@ -2805,7 +2805,7 @@ Utf32ToUtfProc(
if ((unsigned)ch - 1 < 0x7F) {
*dst++ = (ch & 0xFF);
} else {
- if (((prev & ~0x3FF) != 0xD800) && ((ch & ~0x3FF) == 0xDC00)) {
+ if (!HIGH_SURROGATE(prev) && LOW_SURROGATE(ch)) {
*dst = 0; /* In case of lower surrogate, don't try to combine */
}
dst += Tcl_UniCharToUtf(ch, dst);
@@ -2813,7 +2813,7 @@ Utf32ToUtfProc(
src += 4;
}
- if ((ch & ~0x3FF) == 0xD800) {
+ if (HIGH_SURROGATE(ch)) {
/* Bug [10c2c17c32]. If Hi surrogate, finish 3-byte UTF-8 */
dst += Tcl_UniCharToUtf(-1, dst);
}
@@ -3031,7 +3031,7 @@ Utf16ToUtfProc(
} else {
ch = (src[0] & 0xFF) << 8 | (src[1] & 0xFF);
}
- if (((prev & ~0x3FF) == 0xD800) && ((ch & ~0x3FF) != 0xDC00)) {
+ if (HIGH_SURROGATE(prev) && !LOW_SURROGATE(ch)) {
if (PROFILE_STRICT(flags)) {
result = TCL_CONVERT_SYNTAX;
src -= 2; /* Go back to beginning of high surrogate */
@@ -3050,9 +3050,9 @@ Utf16ToUtfProc(
if ((unsigned)ch - 1 < 0x7F) {
*dst++ = (ch & 0xFF);
- } else if (((prev & ~0x3FF) == 0xD800) || ((ch & ~0x3FF) == 0xD800)) {
+ } else if (HIGH_SURROGATE(prev) || HIGH_SURROGATE(ch)) {
dst += Tcl_UniCharToUtf(ch, dst);
- } else if (((ch & ~0x3FF) == 0xDC00) && PROFILE_STRICT(flags)) {
+ } else if (LOW_SURROGATE(ch) && PROFILE_STRICT(flags)) {
/* Lo surrogate not preceded by Hi surrogate */
result = TCL_CONVERT_SYNTAX;
break;
@@ -3063,7 +3063,7 @@ Utf16ToUtfProc(
src += sizeof(unsigned short);
}
- if ((ch & ~0x3FF) == 0xD800) {
+ if (HIGH_SURROGATE(ch)) {
if (PROFILE_STRICT(flags)) {
result = TCL_CONVERT_SYNTAX;
src -= 2;
@@ -3301,7 +3301,7 @@ UtfToUcs2Proc(
ch = UNICODE_REPLACE_CHAR;
}
#endif
- if (PROFILE_STRICT(flags) && ((ch & ~0x7FF) == 0xD800)) {
+ if (PROFILE_STRICT(flags) && SURROGATE(ch)) {
result = TCL_CONVERT_SYNTAX;
break;
}