diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-06 13:22:05 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-06 13:22:05 (GMT) |
commit | c5e55206a201b155a055c3b6ebeb1bf592cc7f21 (patch) | |
tree | d00dd2bafc0ca8c0db2d5689457cfd7ba17963f8 /generic | |
parent | 7adecdbf4a328b9f39774d0323a64886c1f160b3 (diff) | |
parent | 391948de408337582c0f29f4f897e1d0d5d96fcc (diff) | |
download | tcl-c5e55206a201b155a055c3b6ebeb1bf592cc7f21.zip tcl-c5e55206a201b155a055c3b6ebeb1bf592cc7f21.tar.gz tcl-c5e55206a201b155a055c3b6ebeb1bf592cc7f21.tar.bz2 |
Merge 8.6
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclAlloc.c | 2 | ||||
-rw-r--r-- | generic/tclBinary.c | 2 | ||||
-rw-r--r-- | generic/tclCmdMZ.c | 2 | ||||
-rw-r--r-- | generic/tclOptimize.c | 2 | ||||
-rw-r--r-- | generic/tclParse.c | 2 | ||||
-rw-r--r-- | generic/tclUtf.c | 24 | ||||
-rw-r--r-- | generic/tclZipfs.c | 9 |
7 files changed, 22 insertions, 21 deletions
diff --git a/generic/tclAlloc.c b/generic/tclAlloc.c index 3a76469..bc4716d 100644 --- a/generic/tclAlloc.c +++ b/generic/tclAlloc.c @@ -345,7 +345,7 @@ TclpAlloc( nextf[bucket] = overPtr->next; overPtr->overMagic0 = overPtr->overMagic1 = MAGIC; - overPtr->bucketIndex = (unsigned char) bucket; + overPtr->bucketIndex = UCHAR(bucket); #ifdef MSTATS numMallocs[bucket]++; diff --git a/generic/tclBinary.c b/generic/tclBinary.c index 2119043..bb82fe7 100644 --- a/generic/tclBinary.c +++ b/generic/tclBinary.c @@ -2841,7 +2841,7 @@ BinaryEncodeUu( unsigned char *data, *start, *cursor; int offset, count, rawLength, n, i, j, bits, index; int lineLength = 61; - const unsigned char SingleNewline[] = { (unsigned char) '\n' }; + const unsigned char SingleNewline[] = { UCHAR('\n') }; const unsigned char *wrapchar = SingleNewline; int wrapcharlen = sizeof(SingleNewline); enum { OPT_MAXLEN, OPT_WRAPCHAR }; diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index d7394fb..56df0dd 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -1424,7 +1424,7 @@ StringIndexCmd( */ if (TclIsPureByteArray(objv[1])) { - unsigned char uch = (unsigned char) ch; + unsigned char uch = UCHAR(ch); Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(&uch, 1)); } else { diff --git a/generic/tclOptimize.c b/generic/tclOptimize.c index 095e6c5..4383c62 100644 --- a/generic/tclOptimize.c +++ b/generic/tclOptimize.c @@ -34,7 +34,7 @@ static void TrimUnreachable(CompileEnv *envPtr); #define AddrLength(address) \ (tclInstructionTable[*(unsigned char *)(address)].numBytes) #define InstLength(instruction) \ - (tclInstructionTable[(unsigned char)(instruction)].numBytes) + (tclInstructionTable[UCHAR(instruction)].numBytes) /* * ---------------------------------------------------------------------- diff --git a/generic/tclParse.c b/generic/tclParse.c index 34d9bed..132e804 100644 --- a/generic/tclParse.c +++ b/generic/tclParse.c @@ -858,7 +858,7 @@ TclParseBackslash( /* * Keep only the last byte (2 hex digits). */ - result = (unsigned char) result; + result = UCHAR(result); } break; case 'u': diff --git a/generic/tclUtf.c b/generic/tclUtf.c index 7b6ec63..ac6f0d8 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -95,7 +95,7 @@ static const unsigned char complete[256] = { * Functions used only in this module. */ -static int Invalid(unsigned char *src); +static int Invalid(const char *src); /* *--------------------------------------------------------------------------- @@ -161,9 +161,9 @@ static const unsigned char bounds[28] = { static int Invalid( - unsigned char *src) /* Points to lead byte of a UTF-8 byte sequence */ + const char *src) /* Points to lead byte of a UTF-8 byte sequence */ { - unsigned char byte = *src; + unsigned char byte = UCHAR(*src); int index; if ((byte & 0xC3) != 0xC0) { @@ -171,7 +171,7 @@ Invalid( return 0; } index = (byte - 0xC0) >> 1; - if (src[1] < bounds[index] || src[1] > bounds[index+1]) { + if (UCHAR(src[1]) < bounds[index] || UCHAR(src[1]) > bounds[index+1]) { /* Out of bounds - report invalid. */ return 1; } @@ -935,8 +935,8 @@ const char * Tcl_UtfNext( const char *src) /* The current location in the string. */ { - int left = totalBytes[UCHAR(*src)]; - const char *next = src + 1; + int left; + const char *next; if (((*src) & 0xC0) == 0x80) { if ((((*++src) & 0xC0) == 0x80) && (((*++src) & 0xC0) == 0x80)) { @@ -945,6 +945,11 @@ Tcl_UtfNext( return src; } + if (Invalid(src)) { + return src + 1; + } + left = totalBytes[UCHAR(*src)]; + next = src + 1; while (--left) { if ((*next & 0xC0) != 0x80) { /* @@ -956,9 +961,6 @@ Tcl_UtfNext( } next++; } - if (Invalid((unsigned char *)src)) { - return src + 1; - } return next; } @@ -993,7 +995,7 @@ Tcl_UtfPrev( /* If we cannot find a lead byte that might * start a prefix of a valid UTF byte sequence, * we will fallback to a one-byte back step */ - unsigned char *look = (unsigned char *)fallback; + const char *look = fallback; /* Start search at the fallback position */ /* Quick boundary case exit. */ @@ -1002,7 +1004,7 @@ Tcl_UtfPrev( } do { - unsigned char byte = look[0]; + unsigned char byte = UCHAR(look[0]); if (byte < 0x80) { /* diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c index ed7aad6..9e1dee4 100644 --- a/generic/tclZipfs.c +++ b/generic/tclZipfs.c @@ -2244,16 +2244,15 @@ ZipAddFile( return TCL_ERROR; } ch = (int) (r * 256); - kvbuf[i + 12] = (unsigned char) zencode(keys, crc32tab, ch, tmp); + kvbuf[i + 12] = UCHAR(zencode(keys, crc32tab, ch, tmp)); } Tcl_ResetResult(interp); init_keys(passwd, keys, crc32tab); for (i = 0; i < 12 - 2; i++) { - kvbuf[i] = (unsigned char) - zencode(keys, crc32tab, kvbuf[i + 12], tmp); + kvbuf[i] = UCHAR(zencode(keys, crc32tab, kvbuf[i + 12], tmp)); } - kvbuf[i++] = (unsigned char) zencode(keys, crc32tab, crc >> 16, tmp); - kvbuf[i++] = (unsigned char) zencode(keys, crc32tab, crc >> 24, tmp); + kvbuf[i++] = UCHAR(zencode(keys, crc32tab, crc >> 16, tmp)); + kvbuf[i++] = UCHAR(zencode(keys, crc32tab, crc >> 24, tmp)); len = Tcl_Write(out, (char *) kvbuf, 12); memset(kvbuf, 0, 24); if (len != 12) { |