diff options
Diffstat (limited to 'generic/tclListObj.c')
-rw-r--r-- | generic/tclListObj.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclListObj.c b/generic/tclListObj.c index bd2dbc4..fccec0a 100644 --- a/generic/tclListObj.c +++ b/generic/tclListObj.c @@ -73,6 +73,12 @@ const Tcl_ObjType tclListType = { *---------------------------------------------------------------------- */ +#define Elems2Size(n) \ + (sizeof(List) - sizeof(Tcl_Obj *) + n*sizeof(Tcl_Obj *)) + +#define Size2Elems(s) \ + (s - (sizeof(List) - sizeof(Tcl_Obj *)))/sizeof(Tcl_Obj *) + static List * NewListIntRep( int objc, @@ -588,6 +594,7 @@ Tcl_ListObjAppendElement( listRepPtr = ListRepPtr(listPtr); numElems = listRepPtr->elemCount; numRequired = numElems + 1 ; + needGrow = (numRequired > listRepPtr->maxElemCount); isShared = (listRepPtr->refCount > 1); |