- Preserves original args.
This commit is contained in:
Paul Beckingham 2014-10-14 01:42:37 -04:00
parent 99ff5cd372
commit 05fdfafd2a
2 changed files with 8 additions and 1 deletions

View file

@ -72,7 +72,9 @@ void CLI::initialize (int argc, const char** argv)
{ {
_program = argv[0]; _program = argv[0];
for (int i = 1; i < argc; ++i) for (int i = 1; i < argc; ++i)
_args.push_back (argv[i]); _original_args.push_back (argv[i]);
_args = _original_args;
dump ("CLI::initialize"); dump ("CLI::initialize");
extractOverrides (); extractOverrides ();
@ -81,6 +83,7 @@ void CLI::initialize (int argc, const char** argv)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
void CLI::add (const std::string& arg) void CLI::add (const std::string& arg)
{ {
_original_args.push_back (arg);
_args.push_back (arg); _args.push_back (arg);
dump ("CLI::add"); dump ("CLI::add");
@ -274,6 +277,9 @@ void CLI::dump (const std::string& label) const
<< "# _program '" << _program << "'\n"; << "# _program '" << _program << "'\n";
std::vector <std::string>::const_iterator i; std::vector <std::string>::const_iterator i;
for (i = _original_args.begin (); i != _original_args.end (); ++i)
std::cout << "# _original_args '" << *i << "'\n";
for (i = _args.begin (); i != _args.end (); ++i) for (i = _args.begin (); i != _args.end (); ++i)
std::cout << "# _args '" << *i << "'\n"; std::cout << "# _args '" << *i << "'\n";

View file

@ -53,6 +53,7 @@ public:
std::multimap <std::string, std::string> _entities; std::multimap <std::string, std::string> _entities;
std::map <std::string, std::string> _aliases; std::map <std::string, std::string> _aliases;
std::string _program; std::string _program;
std::vector <std::string> _original_args;
std::vector <std::string> _args; std::vector <std::string> _args;
std::string _rc; std::string _rc;
std::map <std::string, std::string> _overrides; std::map <std::string, std::string> _overrides;