Solve arguments() showing empty keys when exsiting short-only option
This commit is contained in:
parent
ad2d1a6b5f
commit
c14de8a092
@ -1287,6 +1287,13 @@ namespace cxxopts
|
|||||||
return m_long;
|
return m_long;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CXXOPTS_NODISCARD
|
||||||
|
const std::string&
|
||||||
|
essential_name() const
|
||||||
|
{
|
||||||
|
return m_long.empty() ? m_short : m_long;
|
||||||
|
}
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
hash() const
|
hash() const
|
||||||
{
|
{
|
||||||
@ -2150,7 +2157,7 @@ OptionParser::parse_default(const std::shared_ptr<OptionDetails>& details)
|
|||||||
// TODO: remove the duplicate code here
|
// TODO: remove the duplicate code here
|
||||||
auto& store = m_parsed[details->hash()];
|
auto& store = m_parsed[details->hash()];
|
||||||
store.parse_default(details);
|
store.parse_default(details);
|
||||||
m_defaults.emplace_back(details->long_name(), details->value().get_default_value());
|
m_defaults.emplace_back(details->essential_name(), details->value().get_default_value());
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
@ -2174,7 +2181,7 @@ OptionParser::parse_option
|
|||||||
auto& result = m_parsed[hash];
|
auto& result = m_parsed[hash];
|
||||||
result.parse(value, arg);
|
result.parse(value, arg);
|
||||||
|
|
||||||
m_sequential.emplace_back(value->long_name(), arg);
|
m_sequential.emplace_back(value->essential_name(), arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user