summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdAH.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-03-20 23:14:32 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-03-20 23:14:32 (GMT)
commit64aaad2c4cff92f081027f8e9f82dbe19abe393b (patch)
treea403b3a0cd5da9d125da865c5d33507df472a330 /generic/tclCmdAH.c
parent4ae2452d30d79d0dec8956c0cb67171651fb51e6 (diff)
parenta0b26511ec3f53545e575b609822ad525be69118 (diff)
downloadtcl-64aaad2c4cff92f081027f8e9f82dbe19abe393b.zip
tcl-64aaad2c4cff92f081027f8e9f82dbe19abe393b.tar.gz
tcl-64aaad2c4cff92f081027f8e9f82dbe19abe393b.tar.bz2
Merge 8.7, and fix the bug
Diffstat (limited to 'generic/tclCmdAH.c')
-rw-r--r--generic/tclCmdAH.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index c87bc46..401b14a 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -555,7 +555,7 @@ EncodingConvertfromObjCmd(
#else
int flags = TCL_ENCODING_NOCOMPLAIN;
#endif
- size_t result;
+ int result;
if (objc == 2) {
encoding = Tcl_GetEncoding(interp, NULL);
@@ -600,11 +600,11 @@ encConvFromOK:
}
result = Tcl_ExternalToUtfDStringEx(encoding, bytesPtr, length,
flags, &ds);
- if (!(flags & TCL_ENCODING_NOCOMPLAIN) && (result != (size_t)-1)) {
+ if (!(flags & TCL_ENCODING_NOCOMPLAIN) && (result != TCL_INDEX_NONE)) {
char buf[TCL_INTEGER_SPACE];
- sprintf(buf, "%" TCL_Z_MODIFIER "u", result);
+ sprintf(buf, "%u", result);
Tcl_SetObjResult(interp, Tcl_ObjPrintf("unexpected byte sequence starting at index %"
- TCL_Z_MODIFIER "u: '\\x%X'", result, UCHAR(bytesPtr[result])));
+ "u: '\\x%X'", result, UCHAR(bytesPtr[result])));
Tcl_SetErrorCode(interp, "TCL", "ENCODING", "ILLEGALSEQUENCE",
buf, NULL);
Tcl_DStringFree(&ds);
@@ -653,7 +653,7 @@ EncodingConverttoObjCmd(
Tcl_Encoding encoding; /* Encoding to use */
int length; /* Length of the string being converted */
const char *stringPtr; /* Pointer to the first byte of the string */
- size_t result;
+ int result;
#if TCL_MAJOR_VERSION > 8 || defined(TCL_NO_DEPRECATED)
int flags = TCL_ENCODING_STOPONERROR;
#else
@@ -696,14 +696,14 @@ encConvToOK:
stringPtr = TclGetStringFromObj(data, &length);
result = Tcl_UtfToExternalDStringEx(encoding, stringPtr, length,
flags, &ds);
- if (!(flags & TCL_ENCODING_NOCOMPLAIN) && (result != (size_t)-1)) {
- size_t pos = Tcl_NumUtfChars(stringPtr, result);
+ if (!(flags & TCL_ENCODING_NOCOMPLAIN) && (result != TCL_INDEX_NONE)) {
+ int pos = Tcl_NumUtfChars(stringPtr, result);
int ucs4;
char buf[TCL_INTEGER_SPACE];
TclUtfToUCS4(&stringPtr[result], &ucs4);
- sprintf(buf, "%" TCL_Z_MODIFIER "u", result);
+ sprintf(buf, "%u", result);
Tcl_SetObjResult(interp, Tcl_ObjPrintf("unexpected character at index %"
- TCL_Z_MODIFIER "u: 'U+%06X'", pos, ucs4));
+ "u: 'U+%06X'", pos, ucs4));
Tcl_SetErrorCode(interp, "TCL", "ENCODING", "ILLEGALSEQUENCE",
buf, NULL);
Tcl_DStringFree(&ds);