int scriptinv_set(ScriptToInvoke *si, Tcl_Interp *ip,
Tcl_Obj *newscript, Tcl_Obj *xargs) {
- int rc;
+ int rc, xlength;
scriptinv_cancel(si);
Tcl_IncrRefCount(newscript);
if (xargs) {
- rc= Tcl_ListObjLength(ip, xargs, &si->llength); if (rc) return rc;
+ rc= Tcl_ListObjLength(ip, xargs, &xlength); if (rc) return rc;
Tcl_IncrRefCount(xargs);
+ si->llength += xlength;
}
si->obj= newscript;
assert(si->obj);
for (i=0; i<argc; i++) Tcl_IncrRefCount(argv[i]);
+
invoke= Tcl_DuplicateObj(si->obj);
Tcl_IncrRefCount(invoke);