summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Dirolf <mike@10gen.com>2009-09-10 11:01:37 -0400
committerMike Dirolf <mike@10gen.com>2009-09-10 11:01:37 -0400
commit64a1af2b42ff879a7ac853796e23c95d87d29713 (patch)
tree0f79591b456f763d54581a5683abb865a319562f
parent29548da4c4f2581d5537d56bfa30c3e4b0b6402e (diff)
downloadmongo-64a1af2b42ff879a7ac853796e23c95d87d29713.tar.gz
mongoexport: copy fields argument before parsing
-rw-r--r--tools/export.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/export.cpp b/tools/export.cpp
index a8dec9a1848..744ee372d70 100644
--- a/tools/export.cpp
+++ b/tools/export.cpp
@@ -37,7 +37,7 @@ public:
Export() : Tool( "export" ){
add_options()
("query,q" , po::value<string>() , "query filter, as a JSON string" )
- ("fields,f" , po::value<string>() , "comma seperated list of field names e.g. -f=name,age " )
+ ("fields,f" , po::value<string>() , "comma seperated list of field names e.g. -f name,age" )
("csv","export to csv instead of json")
("out,o", po::value<string>(), "output file; if not specified, stdout is used")
;
@@ -63,14 +63,15 @@ public:
printHelp(cerr);
return 1;
}
-
+
auth();
if ( hasParam( "fields" ) ){
BSONObjBuilder b;
- pcrecpp::StringPiece input( getParam( "fields" ) );
+ string fields_arg = getParam("fields");
+ pcrecpp::StringPiece input(fields_arg);
string f;
pcrecpp::RE re("(\\w+),?" );