rpc: Allow typeAny in RPCTypeCheck

This commit is contained in:
MarcoFalke
2018-01-18 16:57:48 -05:00
parent e4ffcacc21
commit 8acd25d854
2 changed files with 8 additions and 9 deletions

View File

@@ -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())));
}
}