From: ian Date: Sat, 18 Dec 2004 19:33:28 +0000 (+0000) Subject: put xargs in right place X-Git-Tag: debian/1.1.1~109 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=commitdiff_plain;h=9547c7ba84dfcccaa3ff7032ddeb698e163ad81d put xargs in right place --- diff --git a/base/scriptinv.c b/base/scriptinv.c index 1ac7e82..cdaec8b 100644 --- a/base/scriptinv.c +++ b/base/scriptinv.c @@ -16,7 +16,7 @@ void scriptinv_cancel(ScriptToInvoke *si) { int scriptinv_set(ScriptToInvoke *si, Tcl_Interp *ip, Tcl_Obj *newscript, Tcl_Obj *xargs) { - int rc; + int rc, xlength; scriptinv_cancel(si); @@ -24,8 +24,9 @@ int scriptinv_set(ScriptToInvoke *si, Tcl_Interp *ip, 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; @@ -41,6 +42,7 @@ void scriptinv_invoke(ScriptToInvoke *si, int argc, Tcl_Obj **argv) { assert(si->obj); for (i=0; iobj); Tcl_IncrRefCount(invoke);