Fossil SCM

Correct TH1 tracing related to the 'hascap' and 'anycap' TH1 commands.

mistachkin 2016-08-18 02:51 trunk
Commit 901f18393d1d9e75ce35262780f9eaeb27ebd85e
1 file changed +8 -2
+8 -2
--- src/th_main.c
+++ src/th_main.c
@@ -637,18 +637,24 @@
637637
int argc,
638638
const char **argv,
639639
int *argl
640640
){
641641
int rc = 1, i;
642
+ char *zCapList = 0;
643
+ int nCapList = 0;
642644
if( argc<2 ){
643645
return Th_WrongNumArgs(interp, "hascap STRING ...");
644646
}
645647
for(i=1; rc==1 && i<argc; i++){
648
+ if( g.thTrace ){
649
+ Th_ListAppend(interp, &zCapList, &nCapList, argv[i], argl[i]);
650
+ }
646651
rc = login_has_capability((char*)argv[i],argl[i],*(int*)p);
647652
}
648653
if( g.thTrace ){
649
- Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
654
+ Th_Trace("[hascap %#h] => %d<br />\n", nCapList, zCapList, rc);
655
+ Th_Free(interp, zCapList);
650656
}
651657
Th_SetResultInt(interp, rc);
652658
return TH_OK;
653659
}
654660
@@ -878,11 +884,11 @@
878884
}
879885
for(i=0; rc==0 && i<argl[1]; i++){
880886
rc = login_has_capability((char*)&argv[1][i],1,0);
881887
}
882888
if( g.thTrace ){
883
- Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
889
+ Th_Trace("[anycap %#h] => %d<br />\n", argl[1], argv[1], rc);
884890
}
885891
Th_SetResultInt(interp, rc);
886892
return TH_OK;
887893
}
888894
889895
--- src/th_main.c
+++ src/th_main.c
@@ -637,18 +637,24 @@
637 int argc,
638 const char **argv,
639 int *argl
640 ){
641 int rc = 1, i;
 
 
642 if( argc<2 ){
643 return Th_WrongNumArgs(interp, "hascap STRING ...");
644 }
645 for(i=1; rc==1 && i<argc; i++){
 
 
 
646 rc = login_has_capability((char*)argv[i],argl[i],*(int*)p);
647 }
648 if( g.thTrace ){
649 Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
 
650 }
651 Th_SetResultInt(interp, rc);
652 return TH_OK;
653 }
654
@@ -878,11 +884,11 @@
878 }
879 for(i=0; rc==0 && i<argl[1]; i++){
880 rc = login_has_capability((char*)&argv[1][i],1,0);
881 }
882 if( g.thTrace ){
883 Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
884 }
885 Th_SetResultInt(interp, rc);
886 return TH_OK;
887 }
888
889
--- src/th_main.c
+++ src/th_main.c
@@ -637,18 +637,24 @@
637 int argc,
638 const char **argv,
639 int *argl
640 ){
641 int rc = 1, i;
642 char *zCapList = 0;
643 int nCapList = 0;
644 if( argc<2 ){
645 return Th_WrongNumArgs(interp, "hascap STRING ...");
646 }
647 for(i=1; rc==1 && i<argc; i++){
648 if( g.thTrace ){
649 Th_ListAppend(interp, &zCapList, &nCapList, argv[i], argl[i]);
650 }
651 rc = login_has_capability((char*)argv[i],argl[i],*(int*)p);
652 }
653 if( g.thTrace ){
654 Th_Trace("[hascap %#h] => %d<br />\n", nCapList, zCapList, rc);
655 Th_Free(interp, zCapList);
656 }
657 Th_SetResultInt(interp, rc);
658 return TH_OK;
659 }
660
@@ -878,11 +884,11 @@
884 }
885 for(i=0; rc==0 && i<argl[1]; i++){
886 rc = login_has_capability((char*)&argv[1][i],1,0);
887 }
888 if( g.thTrace ){
889 Th_Trace("[anycap %#h] => %d<br />\n", argl[1], argv[1], rc);
890 }
891 Th_SetResultInt(interp, rc);
892 return TH_OK;
893 }
894
895

Keyboard Shortcuts

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