Initialize Command::_name

This commit is contained in:
Eelco Dolstra 2019-06-19 23:37:40 +02:00
parent e75ffbf04a
commit d0a769cb06
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
2 changed files with 5 additions and 0 deletions

View file

@ -224,6 +224,7 @@ MultiCommand::MultiCommand(const Commands & commands)
if (i == commands.end())
throw UsageError("'%s' is not a recognised command", ss[0]);
command = i->second();
command->_name = ss[0];
}});
}
@ -246,6 +247,7 @@ void MultiCommand::printHelp(const string & programName, std::ostream & out)
Table2 table;
for (auto & i : commands) {
auto command = i.second();
command->_name = i.first;
auto descr = command->description();
if (!descr.empty())
table.push_back(std::make_pair(command->name(), descr));

View file

@ -195,7 +195,10 @@ struct Command : virtual Args
private:
std::string _name;
friend class MultiCommand;
public:
std::string name() { return _name; }
virtual void prepare() { };