Fossil SCM
Correct TH1 tracing related to the 'hascap' and 'anycap' TH1 commands.
Commit
901f18393d1d9e75ce35262780f9eaeb27ebd85e
Parent
11d3d721252fbcd…
1 file changed
+8
-2
+8
-2
| --- src/th_main.c | ||
| +++ src/th_main.c | ||
| @@ -637,18 +637,24 @@ | ||
| 637 | 637 | int argc, |
| 638 | 638 | const char **argv, |
| 639 | 639 | int *argl |
| 640 | 640 | ){ |
| 641 | 641 | int rc = 1, i; |
| 642 | + char *zCapList = 0; | |
| 643 | + int nCapList = 0; | |
| 642 | 644 | if( argc<2 ){ |
| 643 | 645 | return Th_WrongNumArgs(interp, "hascap STRING ..."); |
| 644 | 646 | } |
| 645 | 647 | for(i=1; rc==1 && i<argc; i++){ |
| 648 | + if( g.thTrace ){ | |
| 649 | + Th_ListAppend(interp, &zCapList, &nCapList, argv[i], argl[i]); | |
| 650 | + } | |
| 646 | 651 | rc = login_has_capability((char*)argv[i],argl[i],*(int*)p); |
| 647 | 652 | } |
| 648 | 653 | 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); | |
| 650 | 656 | } |
| 651 | 657 | Th_SetResultInt(interp, rc); |
| 652 | 658 | return TH_OK; |
| 653 | 659 | } |
| 654 | 660 | |
| @@ -878,11 +884,11 @@ | ||
| 878 | 884 | } |
| 879 | 885 | for(i=0; rc==0 && i<argl[1]; i++){ |
| 880 | 886 | rc = login_has_capability((char*)&argv[1][i],1,0); |
| 881 | 887 | } |
| 882 | 888 | 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); | |
| 884 | 890 | } |
| 885 | 891 | Th_SetResultInt(interp, rc); |
| 886 | 892 | return TH_OK; |
| 887 | 893 | } |
| 888 | 894 | |
| 889 | 895 |
| --- 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 |