summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclUtf.c4
-rw-r--r--tests/utf.test8
-rw-r--r--win/tclWinSock.c2
3 files changed, 10 insertions, 4 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c
index e1cde17..90e974f 100644
--- a/generic/tclUtf.c
+++ b/generic/tclUtf.c
@@ -1651,6 +1651,7 @@ Tcl_UniCharToUpper(
ch -= GetDelta(info);
}
}
+ /* Clear away extension bits, if any */
return ch & 0x1FFFFF;
}
@@ -1682,6 +1683,7 @@ Tcl_UniCharToLower(
ch += GetDelta(info);
}
}
+ /* Clear away extension bits, if any */
return ch & 0x1FFFFF;
}
@@ -1721,6 +1723,7 @@ Tcl_UniCharToTitle(
ch -= GetDelta(info);
}
}
+ /* Clear away extension bits, if any */
return ch & 0x1FFFFF;
}
@@ -1908,6 +1911,7 @@ Tcl_UniCharIsControl(
int ch) /* Unicode character to test. */
{
if (UNICODE_OUT_OF_RANGE(ch)) {
+ /* Clear away extension bits, if any */
ch &= 0x1FFFFF;
if ((ch == 0xE0001) || ((ch >= 0xE0020) && (ch <= 0xE007F))) {
return 1;
diff --git a/tests/utf.test b/tests/utf.test
index 652a619..0a29e87 100644
--- a/tests/utf.test
+++ b/tests/utf.test
@@ -1210,7 +1210,7 @@ test utf-19.1 {TclUniCharLen} -body {
unset -nocomplain foo
} -result {1 4}
-test utf-20.1 {TclUniCharNcmp} {fullutf knownBug} {
+test utf-20.1 {TclUniCharNcmp} {ucs4} {
string compare [string range [format %c 0xFFFF] 0 0] [string range [format %c 0x10000] 0 0]
} -1
@@ -1331,8 +1331,10 @@ UniCharCaseCmpTest < a b
UniCharCaseCmpTest > b a
UniCharCaseCmpTest > B a
UniCharCaseCmpTest > aBcB abca
-UniCharCaseCmpTest < \uFFFF [format %c 0x10000] {fullutf knownBug}
-UniCharCaseCmpTest < \uFFFF \U10000 {Uesc fullutf knownBug}
+UniCharCaseCmpTest < \uFFFF [format %c 0x10000] ucs4
+UniCharCaseCmpTest < \uFFFF \U10000 {Uesc ucs4}
+UniCharCaseCmpTest > [format %c 0x10000] \uFFFF ucs4
+UniCharCaseCmpTest > \U10000 \uFFFF {Uesc ucs4}
diff --git a/win/tclWinSock.c b/win/tclWinSock.c
index 87e0dc6..48b3cee 100644
--- a/win/tclWinSock.c
+++ b/win/tclWinSock.c
@@ -372,7 +372,7 @@ InitializeHostName(
Tcl_DString ds;
Tcl_DStringInit(&ds);
- if (GetComputerNameExW(ComputerNameDnsFullyQualified, wbuf, &length) != 0) {
+ if (GetComputerNameExW(ComputerNamePhysicalDnsFullyQualified, wbuf, &length) != 0) {
/*
* Convert string from native to UTF then change to lowercase.
*/