Fossil SCM

Coding style adjustments to the Tcl integration subsystem.

mistachkin 2015-06-10 22:18 trunk
Commit fec856f48c88372f8f9e7448234dcf85cddd6078
1 file changed +21 -17
+21 -17
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -44,12 +44,14 @@
4444
}
4545
4646
#define FREE_ARGV_TO_OBJV() \
4747
for(obji=1; obji<argc; obji++){ \
4848
Tcl_DecrRefCount(objv[obji-1]); \
49
+ objv[obji-1] = 0; \
4950
} \
50
- ckfree((char *)objv);
51
+ ckfree((char *)objv); \
52
+ objv = 0;
5153
5254
/*
5355
** Fetch the Tcl interpreter from the specified void pointer, cast to a Tcl
5456
** context.
5557
*/
@@ -456,18 +458,18 @@
456458
Tcl_Preserve((ClientData)tclInterp);
457459
if( argc==2 ){
458460
objPtr = Tcl_NewStringObj(argv[1], argl[1]);
459461
Tcl_IncrRefCount(objPtr);
460462
rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
461
- Tcl_DecrRefCount(objPtr);
463
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
462464
}else{
463465
USE_ARGV_TO_OBJV();
464466
COPY_ARGV_TO_OBJV();
465467
objPtr = Tcl_ConcatObj(objc, objv);
466468
Tcl_IncrRefCount(objPtr);
467469
rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
468
- Tcl_DecrRefCount(objPtr);
470
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
469471
FREE_ARGV_TO_OBJV();
470472
}
471473
zResult = getTclResult(tclInterp, &nResult);
472474
Th_SetResult(interp, zResult, nResult);
473475
Tcl_Release((ClientData)tclInterp);
@@ -515,27 +517,29 @@
515517
Tcl_Preserve((ClientData)tclInterp);
516518
if( argc==2 ){
517519
objPtr = Tcl_NewStringObj(argv[1], argl[1]);
518520
Tcl_IncrRefCount(objPtr);
519521
rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
520
- Tcl_DecrRefCount(objPtr);
522
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
521523
}else{
522524
USE_ARGV_TO_OBJV();
523525
COPY_ARGV_TO_OBJV();
524526
objPtr = Tcl_ConcatObj(objc, objv);
525527
Tcl_IncrRefCount(objPtr);
526528
rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
527
- Tcl_DecrRefCount(objPtr);
529
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
528530
FREE_ARGV_TO_OBJV();
529531
}
530532
if( rc==TCL_OK ){
531533
zResult = Tcl_GetStringFromObj(resultObjPtr, &nResult);
532534
}else{
533535
zResult = getTclResult(tclInterp, &nResult);
534536
}
535537
Th_SetResult(interp, zResult, nResult);
536
- if( rc==TCL_OK ) Tcl_DecrRefCount(resultObjPtr);
538
+ if( rc==TCL_OK ){
539
+ Tcl_DecrRefCount(resultObjPtr); resultObjPtr = 0;
540
+ }
537541
Tcl_Release((ClientData)tclInterp);
538542
rc = notifyPreOrPostEval(1, interp, ctx, argc, argv, argl,
539543
getTh1ReturnCode(rc));
540544
return rc;
541545
}
@@ -583,21 +587,21 @@
583587
Tcl_Obj *objPtr = Tcl_NewStringObj(argv[1], argl[1]);
584588
Tcl_IncrRefCount(objPtr);
585589
command = Tcl_GetCommandFromObj(tclInterp, objPtr);
586590
if( !command || Tcl_GetCommandInfoFromToken(command, &cmdInfo)==0 ){
587591
Th_ErrorMessage(interp, "Tcl command not found:", argv[1], argl[1]);
588
- Tcl_DecrRefCount(objPtr);
592
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
589593
Tcl_Release((ClientData)tclInterp);
590594
return TH_ERROR;
591595
}
592596
if( !cmdInfo.objProc ){
593597
Th_ErrorMessage(interp, "cannot invoke Tcl command:", argv[1], argl[1]);
594
- Tcl_DecrRefCount(objPtr);
598
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
595599
Tcl_Release((ClientData)tclInterp);
596600
return TH_ERROR;
597601
}
598
- Tcl_DecrRefCount(objPtr);
602
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
599603
COPY_ARGV_TO_OBJV();
600604
Tcl_ResetResult(tclInterp);
601605
rc = cmdInfo.objProc(cmdInfo.objClientData, tclInterp, objc, objv);
602606
FREE_ARGV_TO_OBJV();
603607
}else
@@ -789,11 +793,11 @@
789793
xFindExecutable = (tcl_FindExecutableProc *)dlsym(hLibrary, procName);
790794
}
791795
if( !xFindExecutable ){
792796
Th_ErrorMessage(interp,
793797
"could not locate Tcl_FindExecutable", (const char *)"", 0);
794
- dlclose(hLibrary);
798
+ dlclose(hLibrary); hLibrary = 0;
795799
return TH_ERROR;
796800
}
797801
procName = TCL_CREATEINTERP_NAME;
798802
xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName+1);
799803
if( !xCreateInterp ){
@@ -800,11 +804,11 @@
800804
xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName);
801805
}
802806
if( !xCreateInterp ){
803807
Th_ErrorMessage(interp,
804808
"could not locate Tcl_CreateInterp", (const char *)"", 0);
805
- dlclose(hLibrary);
809
+ dlclose(hLibrary); hLibrary = 0;
806810
return TH_ERROR;
807811
}
808812
procName = TCL_DELETEINTERP_NAME;
809813
xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName+1);
810814
if( !xDeleteInterp ){
@@ -811,11 +815,11 @@
811815
xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName);
812816
}
813817
if( !xDeleteInterp ){
814818
Th_ErrorMessage(interp,
815819
"could not locate Tcl_DeleteInterp", (const char *)"", 0);
816
- dlclose(hLibrary);
820
+ dlclose(hLibrary); hLibrary = 0;
817821
return TH_ERROR;
818822
}
819823
procName = TCL_FINALIZE_NAME;
820824
xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName+1);
821825
if( !xFinalize ){
@@ -822,11 +826,11 @@
822826
xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName);
823827
}
824828
if( !xFinalize ){
825829
Th_ErrorMessage(interp,
826830
"could not locate Tcl_Finalize", (const char *)"", 0);
827
- dlclose(hLibrary);
831
+ dlclose(hLibrary); hLibrary = 0;
828832
return TH_ERROR;
829833
}
830834
*phLibrary = hLibrary;
831835
*pxFindExecutable = xFindExecutable;
832836
*pxCreateInterp = xCreateInterp;
@@ -869,19 +873,19 @@
869873
}
870874
objPtr = Tcl_NewStringObj(argv[0], -1);
871875
Tcl_IncrRefCount(objPtr);
872876
resultObjPtr = Tcl_SetVar2Ex(pInterp, "argv0", NULL, objPtr,
873877
TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
874
- Tcl_DecrRefCount(objPtr);
878
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
875879
if( !resultObjPtr ){
876880
return TCL_ERROR;
877881
}
878882
objPtr = Tcl_NewIntObj(argc - 1);
879883
Tcl_IncrRefCount(objPtr);
880884
resultObjPtr = Tcl_SetVar2Ex(pInterp, "argc", NULL, objPtr,
881885
TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
882
- Tcl_DecrRefCount(objPtr);
886
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
883887
if( !resultObjPtr ){
884888
return TCL_ERROR;
885889
}
886890
listPtr = Tcl_NewListObj(0, NULL);
887891
Tcl_IncrRefCount(listPtr);
@@ -888,11 +892,11 @@
888892
if( argc>1 ){
889893
while( --argc ){
890894
objPtr = Tcl_NewStringObj(*++argv, -1);
891895
Tcl_IncrRefCount(objPtr);
892896
rc = Tcl_ListObjAppendElement(pInterp, listPtr, objPtr);
893
- Tcl_DecrRefCount(objPtr);
897
+ Tcl_DecrRefCount(objPtr); objPtr = 0;
894898
if( rc!=TCL_OK ){
895899
break;
896900
}
897901
}
898902
}
@@ -901,11 +905,11 @@
901905
TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
902906
if( !resultObjPtr ){
903907
rc = TCL_ERROR;
904908
}
905909
}
906
- Tcl_DecrRefCount(listPtr);
910
+ Tcl_DecrRefCount(listPtr); listPtr = 0;
907911
return rc;
908912
}
909913
910914
/*
911915
** Evaluate a Tcl script, creating the Tcl interpreter if necessary. If the
912916
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -44,12 +44,14 @@
44 }
45
46 #define FREE_ARGV_TO_OBJV() \
47 for(obji=1; obji<argc; obji++){ \
48 Tcl_DecrRefCount(objv[obji-1]); \
 
49 } \
50 ckfree((char *)objv);
 
51
52 /*
53 ** Fetch the Tcl interpreter from the specified void pointer, cast to a Tcl
54 ** context.
55 */
@@ -456,18 +458,18 @@
456 Tcl_Preserve((ClientData)tclInterp);
457 if( argc==2 ){
458 objPtr = Tcl_NewStringObj(argv[1], argl[1]);
459 Tcl_IncrRefCount(objPtr);
460 rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
461 Tcl_DecrRefCount(objPtr);
462 }else{
463 USE_ARGV_TO_OBJV();
464 COPY_ARGV_TO_OBJV();
465 objPtr = Tcl_ConcatObj(objc, objv);
466 Tcl_IncrRefCount(objPtr);
467 rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
468 Tcl_DecrRefCount(objPtr);
469 FREE_ARGV_TO_OBJV();
470 }
471 zResult = getTclResult(tclInterp, &nResult);
472 Th_SetResult(interp, zResult, nResult);
473 Tcl_Release((ClientData)tclInterp);
@@ -515,27 +517,29 @@
515 Tcl_Preserve((ClientData)tclInterp);
516 if( argc==2 ){
517 objPtr = Tcl_NewStringObj(argv[1], argl[1]);
518 Tcl_IncrRefCount(objPtr);
519 rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
520 Tcl_DecrRefCount(objPtr);
521 }else{
522 USE_ARGV_TO_OBJV();
523 COPY_ARGV_TO_OBJV();
524 objPtr = Tcl_ConcatObj(objc, objv);
525 Tcl_IncrRefCount(objPtr);
526 rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
527 Tcl_DecrRefCount(objPtr);
528 FREE_ARGV_TO_OBJV();
529 }
530 if( rc==TCL_OK ){
531 zResult = Tcl_GetStringFromObj(resultObjPtr, &nResult);
532 }else{
533 zResult = getTclResult(tclInterp, &nResult);
534 }
535 Th_SetResult(interp, zResult, nResult);
536 if( rc==TCL_OK ) Tcl_DecrRefCount(resultObjPtr);
 
 
537 Tcl_Release((ClientData)tclInterp);
538 rc = notifyPreOrPostEval(1, interp, ctx, argc, argv, argl,
539 getTh1ReturnCode(rc));
540 return rc;
541 }
@@ -583,21 +587,21 @@
583 Tcl_Obj *objPtr = Tcl_NewStringObj(argv[1], argl[1]);
584 Tcl_IncrRefCount(objPtr);
585 command = Tcl_GetCommandFromObj(tclInterp, objPtr);
586 if( !command || Tcl_GetCommandInfoFromToken(command, &cmdInfo)==0 ){
587 Th_ErrorMessage(interp, "Tcl command not found:", argv[1], argl[1]);
588 Tcl_DecrRefCount(objPtr);
589 Tcl_Release((ClientData)tclInterp);
590 return TH_ERROR;
591 }
592 if( !cmdInfo.objProc ){
593 Th_ErrorMessage(interp, "cannot invoke Tcl command:", argv[1], argl[1]);
594 Tcl_DecrRefCount(objPtr);
595 Tcl_Release((ClientData)tclInterp);
596 return TH_ERROR;
597 }
598 Tcl_DecrRefCount(objPtr);
599 COPY_ARGV_TO_OBJV();
600 Tcl_ResetResult(tclInterp);
601 rc = cmdInfo.objProc(cmdInfo.objClientData, tclInterp, objc, objv);
602 FREE_ARGV_TO_OBJV();
603 }else
@@ -789,11 +793,11 @@
789 xFindExecutable = (tcl_FindExecutableProc *)dlsym(hLibrary, procName);
790 }
791 if( !xFindExecutable ){
792 Th_ErrorMessage(interp,
793 "could not locate Tcl_FindExecutable", (const char *)"", 0);
794 dlclose(hLibrary);
795 return TH_ERROR;
796 }
797 procName = TCL_CREATEINTERP_NAME;
798 xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName+1);
799 if( !xCreateInterp ){
@@ -800,11 +804,11 @@
800 xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName);
801 }
802 if( !xCreateInterp ){
803 Th_ErrorMessage(interp,
804 "could not locate Tcl_CreateInterp", (const char *)"", 0);
805 dlclose(hLibrary);
806 return TH_ERROR;
807 }
808 procName = TCL_DELETEINTERP_NAME;
809 xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName+1);
810 if( !xDeleteInterp ){
@@ -811,11 +815,11 @@
811 xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName);
812 }
813 if( !xDeleteInterp ){
814 Th_ErrorMessage(interp,
815 "could not locate Tcl_DeleteInterp", (const char *)"", 0);
816 dlclose(hLibrary);
817 return TH_ERROR;
818 }
819 procName = TCL_FINALIZE_NAME;
820 xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName+1);
821 if( !xFinalize ){
@@ -822,11 +826,11 @@
822 xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName);
823 }
824 if( !xFinalize ){
825 Th_ErrorMessage(interp,
826 "could not locate Tcl_Finalize", (const char *)"", 0);
827 dlclose(hLibrary);
828 return TH_ERROR;
829 }
830 *phLibrary = hLibrary;
831 *pxFindExecutable = xFindExecutable;
832 *pxCreateInterp = xCreateInterp;
@@ -869,19 +873,19 @@
869 }
870 objPtr = Tcl_NewStringObj(argv[0], -1);
871 Tcl_IncrRefCount(objPtr);
872 resultObjPtr = Tcl_SetVar2Ex(pInterp, "argv0", NULL, objPtr,
873 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
874 Tcl_DecrRefCount(objPtr);
875 if( !resultObjPtr ){
876 return TCL_ERROR;
877 }
878 objPtr = Tcl_NewIntObj(argc - 1);
879 Tcl_IncrRefCount(objPtr);
880 resultObjPtr = Tcl_SetVar2Ex(pInterp, "argc", NULL, objPtr,
881 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
882 Tcl_DecrRefCount(objPtr);
883 if( !resultObjPtr ){
884 return TCL_ERROR;
885 }
886 listPtr = Tcl_NewListObj(0, NULL);
887 Tcl_IncrRefCount(listPtr);
@@ -888,11 +892,11 @@
888 if( argc>1 ){
889 while( --argc ){
890 objPtr = Tcl_NewStringObj(*++argv, -1);
891 Tcl_IncrRefCount(objPtr);
892 rc = Tcl_ListObjAppendElement(pInterp, listPtr, objPtr);
893 Tcl_DecrRefCount(objPtr);
894 if( rc!=TCL_OK ){
895 break;
896 }
897 }
898 }
@@ -901,11 +905,11 @@
901 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
902 if( !resultObjPtr ){
903 rc = TCL_ERROR;
904 }
905 }
906 Tcl_DecrRefCount(listPtr);
907 return rc;
908 }
909
910 /*
911 ** Evaluate a Tcl script, creating the Tcl interpreter if necessary. If the
912
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -44,12 +44,14 @@
44 }
45
46 #define FREE_ARGV_TO_OBJV() \
47 for(obji=1; obji<argc; obji++){ \
48 Tcl_DecrRefCount(objv[obji-1]); \
49 objv[obji-1] = 0; \
50 } \
51 ckfree((char *)objv); \
52 objv = 0;
53
54 /*
55 ** Fetch the Tcl interpreter from the specified void pointer, cast to a Tcl
56 ** context.
57 */
@@ -456,18 +458,18 @@
458 Tcl_Preserve((ClientData)tclInterp);
459 if( argc==2 ){
460 objPtr = Tcl_NewStringObj(argv[1], argl[1]);
461 Tcl_IncrRefCount(objPtr);
462 rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
463 Tcl_DecrRefCount(objPtr); objPtr = 0;
464 }else{
465 USE_ARGV_TO_OBJV();
466 COPY_ARGV_TO_OBJV();
467 objPtr = Tcl_ConcatObj(objc, objv);
468 Tcl_IncrRefCount(objPtr);
469 rc = Tcl_EvalObjEx(tclInterp, objPtr, 0);
470 Tcl_DecrRefCount(objPtr); objPtr = 0;
471 FREE_ARGV_TO_OBJV();
472 }
473 zResult = getTclResult(tclInterp, &nResult);
474 Th_SetResult(interp, zResult, nResult);
475 Tcl_Release((ClientData)tclInterp);
@@ -515,27 +517,29 @@
517 Tcl_Preserve((ClientData)tclInterp);
518 if( argc==2 ){
519 objPtr = Tcl_NewStringObj(argv[1], argl[1]);
520 Tcl_IncrRefCount(objPtr);
521 rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
522 Tcl_DecrRefCount(objPtr); objPtr = 0;
523 }else{
524 USE_ARGV_TO_OBJV();
525 COPY_ARGV_TO_OBJV();
526 objPtr = Tcl_ConcatObj(objc, objv);
527 Tcl_IncrRefCount(objPtr);
528 rc = Tcl_ExprObj(tclInterp, objPtr, &resultObjPtr);
529 Tcl_DecrRefCount(objPtr); objPtr = 0;
530 FREE_ARGV_TO_OBJV();
531 }
532 if( rc==TCL_OK ){
533 zResult = Tcl_GetStringFromObj(resultObjPtr, &nResult);
534 }else{
535 zResult = getTclResult(tclInterp, &nResult);
536 }
537 Th_SetResult(interp, zResult, nResult);
538 if( rc==TCL_OK ){
539 Tcl_DecrRefCount(resultObjPtr); resultObjPtr = 0;
540 }
541 Tcl_Release((ClientData)tclInterp);
542 rc = notifyPreOrPostEval(1, interp, ctx, argc, argv, argl,
543 getTh1ReturnCode(rc));
544 return rc;
545 }
@@ -583,21 +587,21 @@
587 Tcl_Obj *objPtr = Tcl_NewStringObj(argv[1], argl[1]);
588 Tcl_IncrRefCount(objPtr);
589 command = Tcl_GetCommandFromObj(tclInterp, objPtr);
590 if( !command || Tcl_GetCommandInfoFromToken(command, &cmdInfo)==0 ){
591 Th_ErrorMessage(interp, "Tcl command not found:", argv[1], argl[1]);
592 Tcl_DecrRefCount(objPtr); objPtr = 0;
593 Tcl_Release((ClientData)tclInterp);
594 return TH_ERROR;
595 }
596 if( !cmdInfo.objProc ){
597 Th_ErrorMessage(interp, "cannot invoke Tcl command:", argv[1], argl[1]);
598 Tcl_DecrRefCount(objPtr); objPtr = 0;
599 Tcl_Release((ClientData)tclInterp);
600 return TH_ERROR;
601 }
602 Tcl_DecrRefCount(objPtr); objPtr = 0;
603 COPY_ARGV_TO_OBJV();
604 Tcl_ResetResult(tclInterp);
605 rc = cmdInfo.objProc(cmdInfo.objClientData, tclInterp, objc, objv);
606 FREE_ARGV_TO_OBJV();
607 }else
@@ -789,11 +793,11 @@
793 xFindExecutable = (tcl_FindExecutableProc *)dlsym(hLibrary, procName);
794 }
795 if( !xFindExecutable ){
796 Th_ErrorMessage(interp,
797 "could not locate Tcl_FindExecutable", (const char *)"", 0);
798 dlclose(hLibrary); hLibrary = 0;
799 return TH_ERROR;
800 }
801 procName = TCL_CREATEINTERP_NAME;
802 xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName+1);
803 if( !xCreateInterp ){
@@ -800,11 +804,11 @@
804 xCreateInterp = (tcl_CreateInterpProc *)dlsym(hLibrary, procName);
805 }
806 if( !xCreateInterp ){
807 Th_ErrorMessage(interp,
808 "could not locate Tcl_CreateInterp", (const char *)"", 0);
809 dlclose(hLibrary); hLibrary = 0;
810 return TH_ERROR;
811 }
812 procName = TCL_DELETEINTERP_NAME;
813 xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName+1);
814 if( !xDeleteInterp ){
@@ -811,11 +815,11 @@
815 xDeleteInterp = (tcl_DeleteInterpProc *)dlsym(hLibrary, procName);
816 }
817 if( !xDeleteInterp ){
818 Th_ErrorMessage(interp,
819 "could not locate Tcl_DeleteInterp", (const char *)"", 0);
820 dlclose(hLibrary); hLibrary = 0;
821 return TH_ERROR;
822 }
823 procName = TCL_FINALIZE_NAME;
824 xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName+1);
825 if( !xFinalize ){
@@ -822,11 +826,11 @@
826 xFinalize = (tcl_FinalizeProc *)dlsym(hLibrary, procName);
827 }
828 if( !xFinalize ){
829 Th_ErrorMessage(interp,
830 "could not locate Tcl_Finalize", (const char *)"", 0);
831 dlclose(hLibrary); hLibrary = 0;
832 return TH_ERROR;
833 }
834 *phLibrary = hLibrary;
835 *pxFindExecutable = xFindExecutable;
836 *pxCreateInterp = xCreateInterp;
@@ -869,19 +873,19 @@
873 }
874 objPtr = Tcl_NewStringObj(argv[0], -1);
875 Tcl_IncrRefCount(objPtr);
876 resultObjPtr = Tcl_SetVar2Ex(pInterp, "argv0", NULL, objPtr,
877 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
878 Tcl_DecrRefCount(objPtr); objPtr = 0;
879 if( !resultObjPtr ){
880 return TCL_ERROR;
881 }
882 objPtr = Tcl_NewIntObj(argc - 1);
883 Tcl_IncrRefCount(objPtr);
884 resultObjPtr = Tcl_SetVar2Ex(pInterp, "argc", NULL, objPtr,
885 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
886 Tcl_DecrRefCount(objPtr); objPtr = 0;
887 if( !resultObjPtr ){
888 return TCL_ERROR;
889 }
890 listPtr = Tcl_NewListObj(0, NULL);
891 Tcl_IncrRefCount(listPtr);
@@ -888,11 +892,11 @@
892 if( argc>1 ){
893 while( --argc ){
894 objPtr = Tcl_NewStringObj(*++argv, -1);
895 Tcl_IncrRefCount(objPtr);
896 rc = Tcl_ListObjAppendElement(pInterp, listPtr, objPtr);
897 Tcl_DecrRefCount(objPtr); objPtr = 0;
898 if( rc!=TCL_OK ){
899 break;
900 }
901 }
902 }
@@ -901,11 +905,11 @@
905 TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
906 if( !resultObjPtr ){
907 rc = TCL_ERROR;
908 }
909 }
910 Tcl_DecrRefCount(listPtr); listPtr = 0;
911 return rc;
912 }
913
914 /*
915 ** Evaluate a Tcl script, creating the Tcl interpreter if necessary. If the
916

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button