From 38d6419c233941b3eb7aee7fea7646e622ade5a1 Mon Sep 17 00:00:00 2001 From: Nicholas O'Connor Date: Thu, 23 Mar 2017 15:25:56 -0700 Subject: [PATCH] commands now actually receive subarguments --- src/cellar.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cellar.cpp b/src/cellar.cpp index e00c684..c87b81c 100644 --- a/src/cellar.cpp +++ b/src/cellar.cpp @@ -32,9 +32,13 @@ int main(int argc, char* argv[]) { const string desc = "bottle management tool for WINE connoisseurs"; const string versionstr = version::short_version(); TCLAP::CmdLine cmdparse(desc, ' ', versionstr, false); + TCLAP::UnlabeledValueArg command("command", "Specific command to run.", true, "help", "command"); cmdparse.add(command); + TCLAP::UnlabeledMultiArg subargs("subargs", "Sub-arguments", false, "", "subarg"); + cmdparse.add(subargs); + cmdparse.parse(argc, argv); for (auto item : commands::bottles_commands()) { @@ -43,9 +47,8 @@ int main(int argc, char* argv[]) { string usercmd = command.getValue(); if (commands::command_map.count(usercmd) > 0) { - int subargc = 0; - vector subargv; - commands::command_map[usercmd](subargc, subargv); + vector subargv = subargs.getValue(); + commands::command_map[usercmd](subargv.size(), subargv); } else { cerr << "invalid command: " << usercmd << endl; return 1;