summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-01-24 20:10:25 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-01-24 20:10:25 (GMT)
commitf786cb097f2b4dedaf17c38b8246e76df1a73ce5 (patch)
tree44800cd8681e698777665467b8e06d5b2432d9df
parent5a02d5db9cec007d16a60b24bd8cd0b1912d123f (diff)
downloadtcl-f786cb097f2b4dedaf17c38b8246e76df1a73ce5.zip
tcl-f786cb097f2b4dedaf17c38b8246e76df1a73ce5.tar.gz
tcl-f786cb097f2b4dedaf17c38b8246e76df1a73ce5.tar.bz2
Another round of int -> size_t modifications, so strings > 2Gb are handled correctly on 64-bit platforms.
-rw-r--r--generic/tclBasic.c2
-rw-r--r--generic/tclBinary.c14
-rw-r--r--generic/tclCmdIL.c4
-rw-r--r--generic/tclCompExpr.c4
-rw-r--r--generic/tclConfig.c2
-rw-r--r--generic/tclFileName.c7
-rw-r--r--generic/tclIO.c26
-rw-r--r--generic/tclIO.h6
-rw-r--r--generic/tclIOGT.c8
-rw-r--r--generic/tclInt.h2
-rw-r--r--generic/tclInterp.c6
-rw-r--r--generic/tclMain.c9
-rw-r--r--generic/tclOOBasic.c2
-rw-r--r--generic/tclOODefineCmds.c8
-rw-r--r--generic/tclOOMethod.c9
-rw-r--r--generic/tclOptimize.c4
-rw-r--r--generic/tclParse.c2
-rw-r--r--generic/tclPkg.c3
-rw-r--r--generic/tclStringObj.c15
-rw-r--r--generic/tclUtil.c2
-rw-r--r--generic/tclVar.c7
-rw-r--r--generic/tclZlib.c2
22 files changed, 76 insertions, 68 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 7056099..549c751 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -7054,7 +7054,7 @@ ExprAbsFunc(
goto unChanged;
} else if (l == (Tcl_WideInt)0) {
if (TclHasStringRep(objv[1])) {
- int numBytes;
+ size_t numBytes;
const char *bytes = TclGetStringFromObj(objv[1], &numBytes);
while (numBytes) {
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index f3d648f..6c40a3e 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -927,7 +927,7 @@ BinaryFormatCmd(
goto badIndex;
}
if (count == BINARY_ALL) {
- Tcl_GetByteArrayFromObj(objv[arg], &count);
+ TclGetByteArrayFromObj(objv[arg], &count);
} else if (count == BINARY_NOCOUNT) {
count = 1;
}
@@ -1091,7 +1091,7 @@ BinaryFormatCmd(
char pad = (char) (cmd == 'a' ? '\0' : ' ');
unsigned char *bytes;
- bytes = Tcl_GetByteArrayFromObj(objv[arg++], &length);
+ bytes = TclGetByteArrayFromObj(objv[arg++], &length);
if (count == BINARY_ALL) {
count = length;
@@ -1404,7 +1404,7 @@ BinaryScanCmd(
}
numberCachePtr = &numberCacheHash;
Tcl_InitHashTable(numberCachePtr, TCL_ONE_WORD_KEYS);
- buffer = Tcl_GetByteArrayFromObj(objv[1], &length);
+ buffer = TclGetByteArrayFromObj(objv[1], &length);
format = TclGetString(objv[2]);
arg = 3;
offset = 0;
@@ -2453,7 +2453,7 @@ BinaryEncodeHex(
}
TclNewObj(resultObj);
- data = Tcl_GetByteArrayFromObj(objv[1], &count);
+ data = TclGetByteArrayFromObj(objv[1], &count);
cursor = Tcl_SetByteArrayLength(resultObj, count * 2);
for (offset = 0; offset < count; ++offset) {
*cursor++ = HexDigits[((data[offset] >> 4) & 0x0f)];
@@ -2648,7 +2648,7 @@ BinaryEncode64(
}
resultObj = Tcl_NewObj();
- data = Tcl_GetByteArrayFromObj(objv[objc-1], &count);
+ data = TclGetByteArrayFromObj(objv[objc-1], &count);
if (count > 0) {
size = (((count * 4) / 3) + 3) & ~3; /* ensure 4 byte chunks */
if (maxlen > 0 && size > maxlen) {
@@ -2746,7 +2746,7 @@ BinaryEncodeUu(
}
break;
case OPT_WRAPCHAR:
- wrapchar = Tcl_GetByteArrayFromObj(objv[i+1], &wrapcharlen);
+ wrapchar = TclGetByteArrayFromObj(objv[i+1], &wrapcharlen);
break;
}
}
@@ -2758,7 +2758,7 @@ BinaryEncodeUu(
resultObj = Tcl_NewObj();
offset = 0;
- data = Tcl_GetByteArrayFromObj(objv[objc-1], &count);
+ data = TclGetByteArrayFromObj(objv[objc-1], &count);
rawLength = (lineLength - 1) * 3 / 4;
start = cursor = Tcl_SetByteArrayLength(resultObj,
(lineLength + wrapcharlen) *
diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c
index 0685002..3fdb890 100644
--- a/generic/tclCmdIL.c
+++ b/generic/tclCmdIL.c
@@ -541,7 +541,7 @@ InfoBodyCmd(
register Interp *iPtr = (Interp *) interp;
const char *name, *bytes;
Proc *procPtr;
- int numBytes;
+ size_t numBytes;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "procname");
@@ -566,7 +566,7 @@ InfoBodyCmd(
* the object do not invalidate the internal rep.
*/
- bytes = Tcl_GetStringFromObj(procPtr->bodyPtr, &numBytes);
+ bytes = TclGetStringFromObj(procPtr->bodyPtr, &numBytes);
Tcl_SetObjResult(interp, Tcl_NewStringObj(bytes, numBytes));
return TCL_OK;
}
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c
index c67a56f..06634e2 100644
--- a/generic/tclCompExpr.c
+++ b/generic/tclCompExpr.c
@@ -2478,9 +2478,9 @@ CompileExprTree(
if (TclHasStringRep(objPtr)) {
Tcl_Obj *tableValue;
- int numBytes;
+ size_t numBytes;
const char *bytes
- = Tcl_GetStringFromObj(objPtr, &numBytes);
+ = TclGetStringFromObj(objPtr, &numBytes);
index = TclRegisterLiteral(envPtr, bytes, numBytes, 0);
tableValue = TclFetchLiteral(envPtr, index);
diff --git a/generic/tclConfig.c b/generic/tclConfig.c
index 7c95dca..3d017ed 100644
--- a/generic/tclConfig.c
+++ b/generic/tclConfig.c
@@ -261,7 +261,7 @@ QueryConfigObjCmd(
* Value is stored as-is in a byte array, see Bug [9b2e636361],
* so we have to decode it first.
*/
- value = (const char *) Tcl_GetByteArrayFromObj(val, &n);
+ value = (const char *) TclGetByteArrayFromObj(val, &n);
value = Tcl_ExternalToUtfDString(venc, value, n, &conv);
Tcl_SetObjResult(interp, Tcl_NewStringObj(value,
Tcl_DStringLength(&conv)));
diff --git a/generic/tclFileName.c b/generic/tclFileName.c
index f7d1e76..33980eb 100644
--- a/generic/tclFileName.c
+++ b/generic/tclFileName.c
@@ -1457,7 +1457,7 @@ Tcl_GlobObjCmd(
globTypes->macCreator = NULL;
while (--length >= 0) {
- int len;
+ size_t len;
const char *str;
Tcl_ListObjIndex(interp, typePtr, length, &look);
@@ -1515,9 +1515,10 @@ Tcl_GlobObjCmd(
} else {
Tcl_Obj *item;
+ int llen;
- if ((Tcl_ListObjLength(NULL, look, &len) == TCL_OK)
- && (len == 3)) {
+ if ((Tcl_ListObjLength(NULL, look, &llen) == TCL_OK)
+ && (llen == 3)) {
Tcl_ListObjIndex(interp, look, 0, &item);
if (!strcmp("macintosh", Tcl_GetString(item))) {
Tcl_ListObjIndex(interp, look, 1, &item);
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 4a32216..ca4f461 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -673,7 +673,7 @@ TclFinalizeIOSubsystem(void)
statePtr->refCount--;
}
- if (statePtr->refCount <= 0) {
+ if (statePtr->refCount + 1 <= 1) {
/*
* Close it only if the refcount indicates that the channel is
* not referenced from any interpreter. If it is, that
@@ -1091,7 +1091,7 @@ CheckForStdChannelsBeingClosed(
if (tsdPtr->stdinInitialized == 1
&& tsdPtr->stdinChannel != NULL
&& statePtr == ((Channel *)tsdPtr->stdinChannel)->state) {
- if (statePtr->refCount < 2) {
+ if (statePtr->refCount + 1 < 3) {
statePtr->refCount = 0;
tsdPtr->stdinChannel = NULL;
return;
@@ -1099,7 +1099,7 @@ CheckForStdChannelsBeingClosed(
} else if (tsdPtr->stdoutInitialized == 1
&& tsdPtr->stdoutChannel != NULL
&& statePtr == ((Channel *)tsdPtr->stdoutChannel)->state) {
- if (statePtr->refCount < 2) {
+ if (statePtr->refCount + 1 < 3) {
statePtr->refCount = 0;
tsdPtr->stdoutChannel = NULL;
return;
@@ -1107,7 +1107,7 @@ CheckForStdChannelsBeingClosed(
} else if (tsdPtr->stderrInitialized == 1
&& tsdPtr->stderrChannel != NULL
&& statePtr == ((Channel *)tsdPtr->stderrChannel)->state) {
- if (statePtr->refCount < 2) {
+ if (statePtr->refCount + 1 < 3) {
statePtr->refCount = 0;
tsdPtr->stderrChannel = NULL;
return;
@@ -1269,7 +1269,7 @@ Tcl_UnregisterChannel(
* If the refCount reached zero, close the actual channel.
*/
- if (statePtr->refCount <= 0) {
+ if (statePtr->refCount + 1 <= 1) {
Tcl_Preserve(statePtr);
if (!GotFlag(statePtr, BG_FLUSH_SCHEDULED)) {
/*
@@ -2015,7 +2015,7 @@ static void
ChannelFree(
Channel *chanPtr)
{
- if (chanPtr->refCount == 0) {
+ if (!chanPtr->refCount) {
Tcl_Free(chanPtr);
return;
}
@@ -2187,7 +2187,7 @@ Tcl_UnstackChannel(
* necessary.
*/
- if (statePtr->refCount <= 0) {
+ if (statePtr->refCount + 1 <= 1) {
if (Tcl_Close(interp, chan) != TCL_OK) {
/*
* TIP #219, Tcl Channel Reflection API.
@@ -2487,7 +2487,7 @@ static void
PreserveChannelBuffer(
ChannelBuffer *bufPtr)
{
- if (bufPtr->refCount == 0) {
+ if (!bufPtr->refCount) {
Tcl_Panic("Reuse of ChannelBuffer! %p", bufPtr);
}
bufPtr->refCount++;
@@ -2507,7 +2507,7 @@ static int
IsShared(
ChannelBuffer *bufPtr)
{
- return bufPtr->refCount > 1;
+ return bufPtr->refCount + 1 > 2;
}
/*
@@ -2943,7 +2943,7 @@ FlushChannel(
* current output buffer.
*/
- if (GotFlag(statePtr, CHANNEL_CLOSED) && (statePtr->refCount <= 0) &&
+ if (GotFlag(statePtr, CHANNEL_CLOSED) && (statePtr->refCount + 1 <= 1) &&
(statePtr->outQueueHead == NULL) &&
((statePtr->curOutPtr == NULL) ||
IsBufferEmpty(statePtr->curOutPtr))) {
@@ -3410,7 +3410,7 @@ Tcl_Close(
statePtr = chanPtr->state;
chanPtr = statePtr->topChanPtr;
- if (statePtr->refCount > 0) {
+ if (statePtr->refCount + 1 > 1) {
Tcl_Panic("called Tcl_Close on channel with refCount > 0");
}
@@ -6108,7 +6108,7 @@ ReadChars(
(void) TclGetStringFromObj(objPtr, &numBytes);
Tcl_AppendToObj(objPtr, NULL, dstLimit);
if (toRead == srcLen) {
- unsigned int size;
+ size_t size;
dst = TclGetStringStorage(objPtr, &size) + numBytes;
dstLimit = size - numBytes;
@@ -10359,7 +10359,7 @@ Tcl_IsChannelShared(
ChannelState *statePtr = ((Channel *) chan)->state;
/* State of real channel structure. */
- return ((statePtr->refCount > 1) ? 1 : 0);
+ return ((statePtr->refCount + 1 > 2) ? 1 : 0);
}
/*
diff --git a/generic/tclIO.h b/generic/tclIO.h
index 15f0f78..eea7429 100644
--- a/generic/tclIO.h
+++ b/generic/tclIO.h
@@ -36,7 +36,7 @@
*/
typedef struct ChannelBuffer {
- int refCount; /* Current uses count */
+ size_t refCount; /* Current uses count */
int nextAdded; /* The next position into which a character
* will be put in the buffer. */
int nextRemoved; /* Position of next byte to be removed from
@@ -113,7 +113,7 @@ typedef struct Channel {
ChannelBuffer *inQueueHead; /* Points at first buffer in input queue. */
ChannelBuffer *inQueueTail; /* Points at last buffer in input queue. */
- int refCount;
+ size_t refCount;
} Channel;
/*
@@ -163,7 +163,7 @@ typedef struct ChannelState {
int unreportedError; /* Non-zero if an error report was deferred
* because it happened in the background. The
* value is the POSIX error code. */
- int refCount; /* How many interpreters hold references to
+ size_t refCount; /* How many interpreters hold references to
* this IO channel? */
struct CloseCallback *closeCbPtr;
/* Callbacks registered to be called when the
diff --git a/generic/tclIOGT.c b/generic/tclIOGT.c
index 5e87c31..5e52042 100644
--- a/generic/tclIOGT.c
+++ b/generic/tclIOGT.c
@@ -378,7 +378,7 @@ ExecuteCallback(
* interpreters. */
{
Tcl_Obj *resObj; /* See below, switch (transmit). */
- int resLen;
+ size_t resLen;
unsigned char *resBuf;
Tcl_InterpState state = NULL;
int res = TCL_OK;
@@ -443,7 +443,7 @@ ExecuteCallback(
break;
}
resObj = Tcl_GetObjResult(eval);
- resBuf = Tcl_GetByteArrayFromObj(resObj, &resLen);
+ resBuf = TclGetByteArrayFromObj(resObj, &resLen);
Tcl_WriteRaw(Tcl_GetStackedChannel(dataPtr->self), (char *) resBuf,
resLen);
break;
@@ -453,13 +453,13 @@ ExecuteCallback(
break;
}
resObj = Tcl_GetObjResult(eval);
- resBuf = Tcl_GetByteArrayFromObj(resObj, &resLen);
+ resBuf = TclGetByteArrayFromObj(resObj, &resLen);
Tcl_WriteRaw(dataPtr->self, (char *) resBuf, resLen);
break;
case TRANSMIT_IBUF:
resObj = Tcl_GetObjResult(eval);
- resBuf = Tcl_GetByteArrayFromObj(resObj, &resLen);
+ resBuf = TclGetByteArrayFromObj(resObj, &resLen);
ResultAdd(&dataPtr->result, resBuf, resLen);
break;
diff --git a/generic/tclInt.h b/generic/tclInt.h
index c0a4ca4..e9404cd 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -2971,7 +2971,7 @@ MODULE_SCOPE Tcl_Obj * TclGetProcessGlobalValue(ProcessGlobalValue *pgvPtr);
MODULE_SCOPE Tcl_Obj * TclGetSourceFromFrame(CmdFrame *cfPtr, int objc,
Tcl_Obj *const objv[]);
MODULE_SCOPE char * TclGetStringStorage(Tcl_Obj *objPtr,
- unsigned int *sizePtr);
+ size_t *sizePtr);
MODULE_SCOPE int TclGetLoadedPackagesEx(Tcl_Interp *interp,
const char *targetName,
const char *packageName);
diff --git a/generic/tclInterp.c b/generic/tclInterp.c
index 607ccac..dd9fec8 100644
--- a/generic/tclInterp.c
+++ b/generic/tclInterp.c
@@ -4564,7 +4564,8 @@ SlaveCommandLimitCmd(
Tcl_WrongNumArgs(interp, consumedObjc, objv, "?-option value ...?");
return TCL_ERROR;
} else {
- int i, scriptLen = 0, limitLen = 0;
+ int i;
+ size_t scriptLen = 0, limitLen = 0;
Tcl_Obj *scriptObj = NULL, *granObj = NULL, *limitObj = NULL;
int gran = 0, limit = 0;
@@ -4769,7 +4770,8 @@ SlaveTimeLimitCmd(
Tcl_WrongNumArgs(interp, consumedObjc, objv, "?-option value ...?");
return TCL_ERROR;
} else {
- int i, scriptLen = 0, milliLen = 0, secLen = 0;
+ int i;
+ size_t scriptLen = 0, milliLen = 0, secLen = 0;
Tcl_Obj *scriptObj = NULL, *granObj = NULL;
Tcl_Obj *milliObj = NULL, *secObj = NULL;
int gran = 0;
diff --git a/generic/tclMain.c b/generic/tclMain.c
index ed04ce7..f85f8aa 100644
--- a/generic/tclMain.c
+++ b/generic/tclMain.c
@@ -467,7 +467,7 @@ Tcl_MainEx(
while ((is.input != NULL) && !Tcl_InterpDeleted(interp)) {
mainLoopProc = TclGetMainLoop();
if (mainLoopProc == NULL) {
- int length;
+ size_t length;
if (is.tty) {
Prompt(interp, &is);
@@ -488,7 +488,7 @@ Tcl_MainEx(
Tcl_IncrRefCount(is.commandPtr);
}
length = Tcl_GetsObj(is.input, is.commandPtr);
- if (length < 0) {
+ if (length == (size_t)-1) {
if (Tcl_InputBlocked(is.input)) {
/*
* This can only happen if stdin has been set to
@@ -753,7 +753,8 @@ StdinProc(
ClientData clientData, /* The state of interactive cmd line */
int mask) /* Not used. */
{
- int code, length;
+ int code;
+ size_t length;
InteractiveState *isPtr = clientData;
Tcl_Channel chan = isPtr->input;
Tcl_Obj *commandPtr = isPtr->commandPtr;
@@ -765,7 +766,7 @@ StdinProc(
Tcl_IncrRefCount(commandPtr);
}
length = Tcl_GetsObj(chan, commandPtr);
- if (length < 0) {
+ if (length == (size_t)-1) {
if (Tcl_InputBlocked(chan)) {
return;
}
diff --git a/generic/tclOOBasic.c b/generic/tclOOBasic.c
index 7f7397b..60e7456 100644
--- a/generic/tclOOBasic.c
+++ b/generic/tclOOBasic.c
@@ -248,7 +248,7 @@ TclOO_Class_CreateNs(
{
Object *oPtr = (Object *) Tcl_ObjectContextObject(context);
const char *objName, *nsName;
- int len;
+ size_t len;
/*
* Sanity check; should not be possible to invoke this method on a
diff --git a/generic/tclOODefineCmds.c b/generic/tclOODefineCmds.c
index 6caaa81..28ea4b5 100644
--- a/generic/tclOODefineCmds.c
+++ b/generic/tclOODefineCmds.c
@@ -689,7 +689,7 @@ TclOOUnknownDefinition(
Namespace *nsPtr = (Namespace *) Tcl_GetCurrentNamespace(interp);
Tcl_HashSearch search;
Tcl_HashEntry *hPtr;
- int soughtLen;
+ size_t soughtLen;
const char *soughtStr, *matchedStr = NULL;
if (objc < 2) {
@@ -762,7 +762,7 @@ FindCommand(
Tcl_Obj *stringObj,
Tcl_Namespace *const namespacePtr)
{
- int length;
+ size_t length;
const char *nameStr, *string = TclGetStringFromObj(stringObj, &length);
register Namespace *const nsPtr = (Namespace *) namespacePtr;
FOREACH_HASH_DECLS;
@@ -1514,7 +1514,7 @@ TclOODefineConstructorObjCmd(
Object *oPtr;
Class *clsPtr;
Tcl_Method method;
- int bodyLength;
+ size_t bodyLength;
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "arguments body");
@@ -1725,7 +1725,7 @@ TclOODefineDestructorObjCmd(
Object *oPtr;
Class *clsPtr;
Tcl_Method method;
- int bodyLength;
+ size_t bodyLength;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "body");
diff --git a/generic/tclOOMethod.c b/generic/tclOOMethod.c
index 5cfdb0d..fa3cd6c 100644
--- a/generic/tclOOMethod.c
+++ b/generic/tclOOMethod.c
@@ -993,7 +993,8 @@ ProcedureMethodCompiledVarConnect(
Tcl_Obj *variableObj;
PrivateVariableMapping *privateVar;
Tcl_HashEntry *hPtr;
- int i, isNew, cacheIt, varLen, len;
+ int i, isNew, cacheIt;
+ size_t varLen, len;
const char *match, *varName;
/*
@@ -1178,7 +1179,7 @@ RenderDeclarerName(
#define LIMIT 60
#define ELLIPSIFY(str,len) \
- ((len) > LIMIT ? LIMIT : ((int)len)), (str), ((len) > LIMIT ? "..." : "")
+ ((len) > LIMIT ? LIMIT : (int)(len)), (str), ((len) > LIMIT ? "..." : "")
static void
MethodErrorHandler(
@@ -1220,7 +1221,7 @@ ConstructorErrorHandler(
Method *mPtr = contextPtr->callPtr->chain[contextPtr->index].mPtr;
Object *declarerPtr;
const char *objectName, *kindName;
- int objectNameLen;
+ size_t objectNameLen;
if (mPtr->declaringObjectPtr != NULL) {
declarerPtr = mPtr->declaringObjectPtr;
@@ -1249,7 +1250,7 @@ DestructorErrorHandler(
Method *mPtr = contextPtr->callPtr->chain[contextPtr->index].mPtr;
Object *declarerPtr;
const char *objectName, *kindName;
- int objectNameLen;
+ size_t objectNameLen;
if (mPtr->declaringObjectPtr != NULL) {
declarerPtr = mPtr->declaringObjectPtr;
diff --git a/generic/tclOptimize.c b/generic/tclOptimize.c
index abd312d..6419d87 100644
--- a/generic/tclOptimize.c
+++ b/generic/tclOptimize.c
@@ -231,7 +231,7 @@ ConvertZeroEffectToNOP(
&& TclGetUInt1AtPtr(currentInstPtr + size + 1) == 2) {
Tcl_Obj *litPtr = TclFetchLiteral(envPtr,
TclGetUInt1AtPtr(currentInstPtr + 1));
- int numBytes;
+ size_t numBytes;
(void) TclGetStringFromObj(litPtr, &numBytes);
if (numBytes == 0) {
@@ -246,7 +246,7 @@ ConvertZeroEffectToNOP(
&& TclGetUInt1AtPtr(currentInstPtr + size + 1) == 2) {
Tcl_Obj *litPtr = TclFetchLiteral(envPtr,
TclGetUInt4AtPtr(currentInstPtr + 1));
- int numBytes;
+ size_t numBytes;
(void) TclGetStringFromObj(litPtr, &numBytes);
if (numBytes == 0) {
diff --git a/generic/tclParse.c b/generic/tclParse.c
index e0b46e6..b2a4e23 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -2225,7 +2225,7 @@ TclSubstTokens(
if ((appendByteLength == 1) && (utfCharBytes[0] == ' ')
&& (tokenPtr->start[1] == '\n')) {
if (isLiteral) {
- int clPos;
+ size_t clPos;
if (result == 0) {
clPos = 0;
diff --git a/generic/tclPkg.c b/generic/tclPkg.c
index fa82fe4..ed04cb1 100644
--- a/generic/tclPkg.c
+++ b/generic/tclPkg.c
@@ -1954,7 +1954,8 @@ AddRequirementsToResult(
* available. */
{
Tcl_Obj *result = Tcl_GetObjResult(interp);
- int i, length;
+ int i;
+ size_t length;
for (i = 0; i < reqc; i++) {
const char *v = TclGetStringFromObj(reqv[i], &length);
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 715dbc1..9537490 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -1688,8 +1688,8 @@ Tcl_AppendFormatToObj(
Tcl_Obj *const objv[])
{
const char *span = format, *msg, *errCode;
- int numBytes = 0, objIndex = 0, gotXpg = 0, gotSequential = 0;
- int originalLength, limit;
+ int objIndex = 0, gotXpg = 0, gotSequential = 0;
+ size_t originalLength, limit, numBytes = 0;
Tcl_UniChar ch = 0;
static const char *mixedXPG =
"cannot mix \"%\" and \"%n$\" conversion specifiers";
@@ -1703,7 +1703,7 @@ Tcl_AppendFormatToObj(
Tcl_Panic("%s called with shared object", "Tcl_AppendFormatToObj");
}
(void)TclGetStringFromObj(appendObj, &originalLength);
- limit = INT_MAX - originalLength;
+ limit = (size_t)INT_MAX - originalLength;
/*
* Format string is NUL-terminated.
@@ -1716,7 +1716,8 @@ Tcl_AppendFormatToObj(
#ifndef TCL_WIDE_INT_IS_LONG
int useWide = 0;
#endif
- int newXpg, numChars, allocSegment = 0, segmentLimit, segmentNumBytes;
+ int newXpg, numChars, allocSegment = 0, segmentLimit;
+ size_t segmentNumBytes;
Tcl_Obj *segment;
int step = TclUtfToUniChar(format, &ch);
@@ -1848,7 +1849,7 @@ Tcl_AppendFormatToObj(
format += step;
step = TclUtfToUniChar(format, &ch);
}
- if (width > limit) {
+ if (width > (int) limit) {
msg = overflow;
errCode = "OVERFLOW";
goto errorMsg;
@@ -2721,12 +2722,12 @@ Tcl_ObjPrintf(
char *
TclGetStringStorage(
Tcl_Obj *objPtr,
- unsigned int *sizePtr)
+ size_t *sizePtr)
{
String *stringPtr;
if (objPtr->typePtr != &tclStringType || objPtr->bytes == NULL) {
- return TclGetStringFromObj(objPtr, (int *)sizePtr);
+ return TclGetStringFromObj(objPtr, sizePtr);
}
stringPtr = GET_STRING(objPtr);
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 44ecd90..cad3ee7 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -3639,7 +3639,7 @@ TclGetIntForIndex(
{
Tcl_WideInt wide;
- /* Use platform-related size_t to wide-int to consider negative value
+ /* Use platform-related size_t to wide-int to consider negative value
* ((size_t)-1) if wide-int and size_t have different dimensions. */
if (GetWideForIndex(interp, objPtr, TclWideIntFromSize(endValue),
&wide) == TCL_ERROR) {
diff --git a/generic/tclVar.c b/generic/tclVar.c
index 380b046..b467786 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -665,7 +665,7 @@ TclObjLookupVarEx(
* part1Ptr is possibly an unparsed array element.
*/
- int len;
+ size_t len;
const char *part1 = TclGetStringFromObj(part1Ptr, &len);
if ((len > 1) && (part1[len - 1] == ')')) {
@@ -840,7 +840,8 @@ TclLookupSimpleVar(
* the variable. */
Namespace *varNsPtr, *cxtNsPtr, *dummy1Ptr, *dummy2Ptr;
ResolverScheme *resPtr;
- int isNew, i, result, varLen;
+ int isNew, i, result;
+ size_t varLen;
const char *varName = TclGetStringFromObj(varNamePtr, &varLen);
varPtr = NULL;
@@ -970,7 +971,7 @@ TclLookupSimpleVar(
if (localCt > 0) {
Tcl_Obj **objPtrPtr = &varFramePtr->localCachePtr->varName0;
const char *localNameStr;
- int localLen;
+ size_t localLen;
for (i=0 ; i<localCt ; i++, objPtrPtr++) {
register Tcl_Obj *objPtr = *objPtrPtr;
diff --git a/generic/tclZlib.c b/generic/tclZlib.c
index b561ce9..34ea90c 100644
--- a/generic/tclZlib.c
+++ b/generic/tclZlib.c
@@ -2739,7 +2739,7 @@ ZlibStreamAddCmd(
*/
if (compDictObj != NULL) {
- int len;
+ size_t len;
(void) TclGetByteArrayFromObj(compDictObj, &len);
if (len == 0) {