| ︙ | | |
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
|
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
|
-
+
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = TclListObjGetElements(interp, objv[4], &listLen, &elemPtrs);
result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs);
if (result != TCL_OK) {
return result;
}
if (listLen == 0) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"bad operation list \"\": must be one or more of"
" enter, leave, enterstep, or leavestep", -1));
|
| ︙ | | |
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
|
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
|
-
+
|
TclNewLiteralStringObj(opObj, "enterstep");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
if (tcmdPtr->flags & TCL_TRACE_LEAVE_DURING_EXEC) {
TclNewLiteralStringObj(opObj, "leavestep");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
TclListObjLength(NULL, elemObjPtr, &numOps);
TclListObjLengthM(NULL, elemObjPtr, &numOps);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
| ︙ | | |
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
|
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
|
-
+
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = TclListObjGetElements(interp, objv[4], &listLen, &elemPtrs);
result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs);
if (result != TCL_OK) {
return result;
}
if (listLen == 0) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"bad operation list \"\": must be one or more of"
" delete or rename", -1));
|
| ︙ | | |
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
|
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
|
-
+
|
TclNewLiteralStringObj(opObj, "rename");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
if (tcmdPtr->flags & TCL_TRACE_DELETE) {
TclNewLiteralStringObj(opObj, "delete");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
TclListObjLength(NULL, elemObjPtr, &numOps);
TclListObjLengthM(NULL, elemObjPtr, &numOps);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
| ︙ | | |
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
|
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
|
-
+
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = TclListObjGetElements(interp, objv[4], &listLen, &elemPtrs);
result = TclListObjGetElementsM(interp, objv[4], &listLen, &elemPtrs);
if (result != TCL_OK) {
return result;
}
if (listLen == 0) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"bad operation list \"\": must be one or more of"
" array, read, unset, or write", -1));
|
| ︙ | | |