diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-12-06 15:37:39 +0000 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-12-07 16:26:38 +0000 |
commit | e09a5875cac3e691bb9cc8301cb882d63b029cb0 (patch) | |
tree | baa2921a856ff4b86496a44a20e78ad8857f51ca /src | |
parent | e2c473ff75f9ec272ab23e0ee30728b72aecd8f2 (diff) |
rpc: Assert named arguments are unique in RPCHelpMan
Diffstat (limited to 'src')
-rw-r--r-- | src/rpc/util.cpp | 10 | ||||
-rw-r--r-- | src/rpc/util.h | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/rpc/util.cpp b/src/rpc/util.cpp index bb1c315bc7..740f8351fe 100644 --- a/src/rpc/util.cpp +++ b/src/rpc/util.cpp @@ -242,6 +242,16 @@ struct Sections { } }; +RPCHelpMan::RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args) + : m_name{name}, m_description{description}, m_args{args} +{ + std::set<std::string> named_args; + for (const auto& arg : m_args) { + // Should have unique named arguments + assert(named_args.insert(arg.m_name).second); + } +} + std::string RPCHelpMan::ToString() const { std::string ret; diff --git a/src/rpc/util.h b/src/rpc/util.h index 1d1df2c635..7dedb915fb 100644 --- a/src/rpc/util.h +++ b/src/rpc/util.h @@ -109,10 +109,7 @@ struct RPCArg { class RPCHelpMan { public: - RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args) - : m_name{name}, m_description{description}, m_args{args} - { - } + RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args); std::string ToString() const; |