| ︙ | | | ︙ | |
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = Tcl_ListObjGetElements(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));
|
|
|
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
|
}
/*
* 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);
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));
|
| ︙ | | | ︙ | |
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
|
TclNewLiteralStringObj(opObj, "enterstep");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
if (tcmdPtr->flags & TCL_TRACE_LEAVE_DURING_EXEC) {
TclNewLiteralStringObj(opObj, "leavestep");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
Tcl_ListObjLength(NULL, elemObjPtr, &numOps);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
|
|
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
|
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);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
| ︙ | | | ︙ | |
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = Tcl_ListObjGetElements(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));
|
|
|
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
|
}
/*
* 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);
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));
|
| ︙ | | | ︙ | |
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
|
TclNewLiteralStringObj(opObj, "rename");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
if (tcmdPtr->flags & TCL_TRACE_DELETE) {
TclNewLiteralStringObj(opObj, "delete");
Tcl_ListObjAppendElement(NULL, elemObjPtr, opObj);
}
Tcl_ListObjLength(NULL, elemObjPtr, &numOps);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
|
|
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
|
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);
if (0 == numOps) {
Tcl_DecrRefCount(elemObjPtr);
continue;
}
eachTraceObjPtr = Tcl_NewListObj(0, NULL);
Tcl_ListObjAppendElement(NULL, eachTraceObjPtr, elemObjPtr);
Tcl_DecrRefCount(elemObjPtr);
|
| ︙ | | | ︙ | |
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
|
}
/*
* Make sure the ops argument is a list object; get its length and a
* pointer to its array of element pointers.
*/
result = Tcl_ListObjGetElements(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));
|
|
|
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
|
}
/*
* 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);
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));
|
| ︙ | | | ︙ | |