summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclStringObj.c2
-rw-r--r--tests/string.test3
2 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index db2a402..c8d9df7 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -546,7 +546,7 @@ Tcl_GetUniChar(
TclNumUtfChars(stringPtr->numChars, objPtr->bytes, objPtr->length);
}
if (stringPtr->numChars == objPtr->length) {
- return (Tcl_UniChar) objPtr->bytes[index];
+ return (unsigned char) objPtr->bytes[index];
}
FillUnicodeRep(objPtr);
stringPtr = GET_STRING(objPtr);
diff --git a/tests/string.test b/tests/string.test
index d5a4815..70b0e0f 100644
--- a/tests/string.test
+++ b/tests/string.test
@@ -510,6 +510,9 @@ test string-5.20.$noComp {string index, bytearray object out of bounds} -body {
test string-5.21.$noComp {string index, surrogates, bug [11ae2be95dac9417]} -constraints fullutf -body {
run {list [string index a\U100000b 1] [string index a\U100000b 2] [string index a\U100000b 3]}
} -result [list \U100000 b {}]
+test string-5.22.$noComp {string index} -constraints testbytestring -body {
+ run {list [scan [string index [testbytestring \xFF] 0] %c var] $var}
+} -result {1 255}
test string-6.1.$noComp {string is, not enough args} {