summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-05-17 06:40:43 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-05-17 06:40:43 (GMT)
commitd2867d11a44aff32721a7daaef8aa4382843f2be (patch)
treebd4bd5cde70ac5b98e4429eef2ece2bad4c5349d
parent6ce7d06a332bc7b50046ceea606946686f82ebf8 (diff)
downloadtcl-d2867d11a44aff32721a7daaef8aa4382843f2be.zip
tcl-d2867d11a44aff32721a7daaef8aa4382843f2be.tar.gz
tcl-d2867d11a44aff32721a7daaef8aa4382843f2be.tar.bz2
Change last parameter of Tcl_LinkArray() to type size_t, since we're on 9.0 here!
-rw-r--r--doc/LinkVar.32
-rw-r--r--generic/tcl.decls2
-rw-r--r--generic/tclDecls.h4
-rw-r--r--generic/tclLink.c16
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: