diff options
Diffstat (limited to 'generic/tclTrace.c')
| -rw-r--r-- | generic/tclTrace.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/generic/tclTrace.c b/generic/tclTrace.c index ac92a73..daeb424 100644 --- a/generic/tclTrace.c +++ b/generic/tclTrace.c @@ -428,7 +428,7 @@ TraceExecutionObjCmd( * pointer to its array of element pointers. */ - result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + result = TclListObjLengthM(interp, objv[4], &listLen); if (result != TCL_OK) { return result; } @@ -440,6 +440,10 @@ TraceExecutionObjCmd( NULL); return TCL_ERROR; } + result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + if (result != TCL_OK) { + return result; + } for (i = 0; i < listLen; i++) { if (Tcl_GetIndexFromObj(interp, elemPtrs[i], opStrings, "operation", TCL_EXACT, &index) != TCL_OK) { @@ -670,7 +674,7 @@ TraceCommandObjCmd( * pointer to its array of element pointers. */ - result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + result = TclListObjLengthM(interp, objv[4], &listLen); if (result != TCL_OK) { return result; } @@ -682,7 +686,10 @@ TraceCommandObjCmd( NULL); return TCL_ERROR; } - + result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + if (result != TCL_OK) { + return result; + } for (i = 0; i < listLen; i++) { if (Tcl_GetIndexFromObj(interp, elemPtrs[i], opStrings, "operation", TCL_EXACT, &index) != TCL_OK) { @@ -870,7 +877,7 @@ TraceVariableObjCmd( * pointer to its array of element pointers. */ - result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + result = TclListObjLengthM(interp, objv[4], &listLen); if (result != TCL_OK) { return result; } @@ -882,6 +889,10 @@ TraceVariableObjCmd( NULL); return TCL_ERROR; } + result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs); + if (result != TCL_OK) { + return result; + } for (i = 0; i < listLen ; i++) { if (Tcl_GetIndexFromObj(interp, elemPtrs[i], opStrings, "operation", TCL_EXACT, &index) != TCL_OK) { |
