From e09a5875cac3e691bb9cc8301cb882d63b029cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Barbosa?= Date: Thu, 6 Dec 2018 15:37:39 +0000 Subject: [PATCH] rpc: Assert named arguments are unique in RPCHelpMan --- src/rpc/util.cpp | 10 ++++++++++ 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 bb1c315bc7a..740f8351fee 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& args) + : m_name{name}, m_description{description}, m_args{args} +{ + std::set 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 1d1df2c6354..7dedb915fb5 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& args) - : m_name{name}, m_description{description}, m_args{args} - { - } + RPCHelpMan(const std::string& name, const std::string& description, const std::vector& args); std::string ToString() const;