From d2867d11a44aff32721a7daaef8aa4382843f2be Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Fri, 17 May 2019 06:40:43 +0000 Subject: Change last parameter of Tcl_LinkArray() to type size_t, since we're on 9.0 here! --- doc/LinkVar.3 | 2 +- generic/tcl.decls | 2 +- generic/tclDecls.h | 4 ++-- generic/tclLink.c | 16 ++++++++-------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/LinkVar.3 b/doc/LinkVar.3 index 90fe574..6710702 100644 --- a/doc/LinkVar.3 +++ b/doc/LinkVar.3 @@ -59,7 +59,7 @@ In \fBTcl_LinkArray\fR, the additional linked types \fBTCL_LINK_CHARS\fR and All the above for both functions may be optionally OR'ed with \fBTCL_LINK_READ_ONLY\fR to make the Tcl variable read-only. -.AP int size in +.AP size_t size in .VS "TIP 312" The number of elements in the C array. Must be greater than zero. .VE "TIP 312" diff --git a/generic/tcl.decls b/generic/tcl.decls index 529db61..3dbbcb7 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -2436,7 +2436,7 @@ declare 643 { # TIP#312 New Tcl_LinkArray() function declare 644 { int Tcl_LinkArray(Tcl_Interp *interp, const char *varName, void *addr, - int type, int size) + int type, size_t size) } # ----- BASELINE -- FOR -- 8.7.0 ----- # diff --git a/generic/tclDecls.h b/generic/tclDecls.h index 43ff742..c912868 100644 --- a/generic/tclDecls.h +++ b/generic/tclDecls.h @@ -1752,7 +1752,7 @@ EXTERN int Tcl_IsShared(Tcl_Obj *objPtr); /* 644 */ EXTERN int Tcl_LinkArray(Tcl_Interp *interp, const char *varName, void *addr, int type, - int size); + size_t size); typedef struct { const struct TclPlatStubs *tclPlatStubs; @@ -2432,7 +2432,7 @@ typedef struct TclStubs { void (*tcl_IncrRefCount) (Tcl_Obj *objPtr); /* 641 */ void (*tcl_DecrRefCount) (Tcl_Obj *objPtr); /* 642 */ int (*tcl_IsShared) (Tcl_Obj *objPtr); /* 643 */ - int (*tcl_LinkArray) (Tcl_Interp *interp, const char *varName, void *addr, int type, int size); /* 644 */ + int (*tcl_LinkArray) (Tcl_Interp *interp, const char *varName, void *addr, int type, size_t size); /* 644 */ } TclStubs; extern const TclStubs *tclStubsPtr; diff --git a/generic/tclLink.c b/generic/tclLink.c index 1352b6f..67f1ec9 100644 --- a/generic/tclLink.c +++ b/generic/tclLink.c @@ -33,10 +33,10 @@ typedef struct { * actual variable may be aliased at that time * via upvar. */ void *addr; /* Location of C variable. */ - int bytes; /* Size of C variable array. This is 0 when + size_t bytes; /* Size of C variable array. This is 0 when * single variables, and >0 used for array * variables. */ - int numElems; /* Number of elements in C variable array. + size_t numElems; /* Number of elements in C variable array. * Zero for single variables. */ int type; /* Type of link (TCL_LINK_INT, etc.). */ union { @@ -245,7 +245,7 @@ Tcl_LinkArray( * interpreter result. */ int type, /* Type of C variable: TCL_LINK_INT, etc. Also * may have TCL_LINK_READ_ONLY OR'ed in. */ - int size) /* Size of C variable array, >1 if array */ + size_t size) /* Size of C variable array, >1 if array */ { Tcl_Obj *objPtr; Link *linkPtr; @@ -744,7 +744,7 @@ LinkTraceProc( { Link *linkPtr = clientData; int changed; - int valueLength; + size_t valueLength = 0; const char *value; char **pp; Tcl_Obj *valueObj; @@ -894,7 +894,7 @@ LinkTraceProc( return NULL; case TCL_LINK_CHARS: - value = (char *) Tcl_GetStringFromObj(valueObj, &valueLength); + value = (char *) TclGetStringFromObj(valueObj, &valueLength); valueLength++; /* include end of string char */ if (valueLength > linkPtr->bytes) { return (char *) "wrong size of char* value"; @@ -909,7 +909,7 @@ LinkTraceProc( return NULL; case TCL_LINK_BINARY: - value = (char *) Tcl_GetByteArrayFromObj(valueObj, &valueLength); + value = (char *) TclGetByteArrayFromObj(valueObj, &valueLength); if (valueLength != linkPtr->bytes) { return (char *) "wrong size of binary value"; } @@ -937,7 +937,7 @@ LinkTraceProc( if (linkPtr->flags & LINK_ALLOC_LAST) { if (Tcl_ListObjGetElements(NULL, (valueObj), &objc, &objv) == TCL_ERROR - || objc != linkPtr->numElems) { + || (size_t)objc != linkPtr->numElems) { return (char *) "wrong dimension"; } } @@ -1277,7 +1277,7 @@ ObjValue( { char *p; Tcl_Obj *resultObj, **objv; - int i; + size_t i; switch (linkPtr->type) { case TCL_LINK_INT: -- cgit v0.12