diff options
author | MarcoFalke <falke.marco@gmail.com> | 2018-01-18 16:57:48 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2018-02-22 17:39:51 -0500 |
commit | 8acd25d8548d91f1e6c1d7c6fa3528c09da6ff80 (patch) | |
tree | 10939681a7077b6bb585b202032bdde066653089 /src/rpc/server.cpp | |
parent | e4ffcacc2187d3419c8ea12b82fb06d82d8751d2 (diff) |
rpc: Allow typeAny in RPCTypeCheck
Diffstat (limited to 'src/rpc/server.cpp')
-rw-r--r-- | src/rpc/server.cpp | 11 |
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()))); } } |