diff options
author | Mike Dirolf <mike@10gen.com> | 2009-06-25 16:15:15 -0400 |
---|---|---|
committer | Mike Dirolf <mike@10gen.com> | 2009-06-25 16:15:15 -0400 |
commit | c8c17ed3ebde1d5f46ee0c3924b3a60b4d91c7a4 (patch) | |
tree | 73bb0324fd9ddfff815d2f924c67e3c22625199f | |
parent | efe8911ecce9328f278eda08ade4577c852b6dad (diff) | |
download | mongo-c8c17ed3ebde1d5f46ee0c3924b3a60b4d91c7a4.tar.gz |
print help if you don't give a namespace
-rw-r--r-- | tools/Tool.cpp | 8 | ||||
-rw-r--r-- | tools/Tool.h | 2 | ||||
-rw-r--r-- | tools/export.cpp | 9 |
3 files changed, 16 insertions, 3 deletions
diff --git a/tools/Tool.cpp b/tools/Tool.cpp index f7fb36b6996..82ed79686ea 100644 --- a/tools/Tool.cpp +++ b/tools/Tool.cpp @@ -34,6 +34,11 @@ mongo::Tool::~Tool(){ void mongo::Tool::printExtraHelp( ostream & out ){ } +void mongo::Tool::printHelp(ostream &out) { + _options->print(out); + printExtraHelp(out); +} + int mongo::Tool::main( int argc , char ** argv ){ boost::filesystem::path::default_name_check( boost::filesystem::no_check ); @@ -44,8 +49,7 @@ int mongo::Tool::main( int argc , char ** argv ){ po::notify( _params ); if ( _params.count( "help" ) ){ - _options->print( cerr ); - printExtraHelp( cerr ); + printHelp(cerr); return 0; } diff --git a/tools/Tool.h b/tools/Tool.h index 0ad4742b45d..7f23e6554dd 100644 --- a/tools/Tool.h +++ b/tools/Tool.h @@ -50,6 +50,8 @@ namespace mongo { virtual int run() = 0; + virtual void printHelp(ostream &out); + virtual void printExtraHelp( ostream & out ); protected: diff --git a/tools/export.cpp b/tools/export.cpp index 5e88201e109..dc50eff9d48 100644 --- a/tools/export.cpp +++ b/tools/export.cpp @@ -44,7 +44,7 @@ public: } int run(){ - const string ns = getNS(); + string ns; const bool csv = hasParam( "csv" ); ostream *outPtr = &cout; string outfile = getParam( "out" ); @@ -57,6 +57,13 @@ public: vector<string> fields; + try { + ns = getNS(); + } catch (...) { + printHelp(cerr); + return 1; + } + if ( hasParam( "fields" ) ){ BSONObjBuilder b; |