diff options
| author | João Barbosa <[email protected]> | 2018-12-06 15:37:39 +0000 |
|---|---|---|
| committer | João Barbosa <[email protected]> | 2018-12-07 16:26:38 +0000 |
| commit | e09a5875cac3e691bb9cc8301cb882d63b029cb0 (patch) | |
| tree | baa2921a856ff4b86496a44a20e78ad8857f51ca | |
| parent | Merge #14796: rpc: Pass argument descriptions to RPCHelpMan (diff) | |
| download | discoin-e09a5875cac3e691bb9cc8301cb882d63b029cb0.tar.xz discoin-e09a5875cac3e691bb9cc8301cb882d63b029cb0.zip | |
rpc: Assert named arguments are unique in RPCHelpMan
| -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 bb1c315bc..740f8351f 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 1d1df2c63..7dedb915f 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; |