summaryrefslogtreecommitdiffstats
path: root/generic/tclListObj.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclListObj.c')
-rw-r--r--generic/tclListObj.c7
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);