#include <clientapi.h> #include <debug.h> #include <mapapi.h> #include <options.h> #include <i18napi.h> #include "joincheck.h" int main( int argc, char** argv ) { ClientApi client; Error e; JoinCheck check( &client, &e ); Options opts; argc--; argv++; ErrorId usage = { E_FAILED, "Usage: joincheck [ -b branch -c client -C charset -p port -u user -d -v ] [ path ]" }; opts.Parse( argc, argv, "u:b:c:p:C:dv", OPT_OPT, usage, &e ); client.SetProtocol( "tag", "" ); StrPtr *s; if ( s = opts['c'] ) client.SetClient( s ); if ( s = opts['C'] ) client.SetCharset( s ); if ( s = opts['p'] ) client.SetPort( s ); if ( s = opts['u'] ) client.SetUser( s ); s = opts['b']; if ( opts['d'] ) { printf( "\n" ); printf( "%7s: %s\n", "User", client.GetUser() ); printf( "%7s: %s\n", "Client", client.GetClient() ); printf( "%7s: %s\n", "Port", client.GetPort() ); printf( "%7s: %s\n", "Charset", client.GetCharset() ); if ( s = opts['b'] ) printf( "%7s: %s\n", "Branch", s->Text() ); } if ( client.GetCharset().Length() ) client.SetTrans( (int)CharSetApi::Lookup( client.GetCharset().Text() ), 0, 0, 0 ); client.Init( &e ); if ( e.Test() ) { check.Message( &e ); return 1; } check.LoadProtect( opts['u'] ); check.LoadBranch( opts['b'] ); check.LoadClient( opts['c'] ); client.Final( &e ); if ( e.Test() ) { check.Message( &e ); return 1; } // Set joinmax tunables way high before doing any joins. p4debug.SetLevel( "map.joinmax1=999999999" ); p4debug.SetLevel( "map.joinmax2=999999999" ); check.LoadPath( argc ? argv[0] : 0 ); check.DoJoins(); MapApi *j = check.Join(); printf( "Joined map size: %d lines\n", j->Count() ); printf( "Most wild line: %d wildcards\n", check.MaxWild( j ) ); if ( opts['v'] ) { printf( "\nJoined map:\n" ); check.DumpView( j ); } return 0; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 7787 | Sam Stafford |
Integrated Stephen's change over. Tidied it up some. |
||
#4 | 7730 | Sam Stafford | Raise joinmax tunables, and update the build. | ||
#3 | 7729 | Sam Stafford | Whoops, forgot to update the usage string. | ||
#2 | 7728 | Sam Stafford |
Add an option for a file path, and another join of the protect table after the branch map. |
||
#1 | 7727 | Sam Stafford |
MapApi-based tool for displaying joins of protects, client, and optionally a branch view. |