aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/server.cpp
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2018-01-18 16:57:48 -0500
committerMarcoFalke <falke.marco@gmail.com>2018-02-22 17:39:51 -0500
commit8acd25d8548d91f1e6c1d7c6fa3528c09da6ff80 (patch)
tree10939681a7077b6bb585b202032bdde066653089 /src/rpc/server.cpp
parente4ffcacc2187d3419c8ea12b82fb06d82d8751d2 (diff)
downloadbitcoin-8acd25d8548d91f1e6c1d7c6fa3528c09da6ff80.tar.xz
rpc: Allow typeAny in RPCTypeCheck
Diffstat (limited to 'src/rpc/server.cpp')
-rw-r--r--src/rpc/server.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp
index e5b4f6ca77..caad3f94f3 100644
--- a/src/rpc/server.cpp
+++ b/src/rpc/server.cpp
@@ -50,12 +50,11 @@ void RPCServer::OnStopped(std::function<void ()> slot)
}
void RPCTypeCheck(const UniValue& params,
- const std::list<UniValue::VType>& typesExpected,
+ const std::list<UniValueType>& typesExpected,
bool fAllowNull)
{
unsigned int i = 0;
- for (UniValue::VType t : typesExpected)
- {
+ for (const UniValueType& t : typesExpected) {
if (params.size() <= i)
break;
@@ -67,10 +66,10 @@ void RPCTypeCheck(const UniValue& params,
}
}
-void RPCTypeCheckArgument(const UniValue& value, UniValue::VType typeExpected)
+void RPCTypeCheckArgument(const UniValue& value, const UniValueType& typeExpected)
{
- if (value.type() != typeExpected) {
- throw JSONRPCError(RPC_TYPE_ERROR, strprintf("Expected type %s, got %s", uvTypeName(typeExpected), uvTypeName(value.type())));
+ if (!typeExpected.typeAny && value.type() != typeExpected.type) {
+ throw JSONRPCError(RPC_TYPE_ERROR, strprintf("Expected type %s, got %s", uvTypeName(typeExpected.type), uvTypeName(value.type())));
}
}