param: consistent callback format

The `json_tok_X` functions now consistently check the success case first
and call `command_fail` at the end.

Signed-off-by: Mark Beckwith <wythe@intrig.com>
This commit is contained in:
Mark Beckwith 2018-08-21 09:08:35 -05:00 committed by Rusty Russell
parent 9c28f997d3
commit a79e64c0a0

View File

@ -120,13 +120,13 @@ bool json_tok_double(struct command *cmd, const char *name,
double **num) double **num)
{ {
*num = tal(cmd, double); *num = tal(cmd, double);
if (!json_to_double(buffer, tok, *num)) { if (json_to_double(buffer, tok, *num))
command_fail(cmd, JSONRPC2_INVALID_PARAMS, return true;
"'%s' should be a double, not '%.*s'",
name, tok->end - tok->start, buffer + tok->start); command_fail(cmd, JSONRPC2_INVALID_PARAMS,
return false; "'%s' should be a double, not '%.*s'",
} name, tok->end - tok->start, buffer + tok->start);
return true; return false;
} }
bool json_tok_number(struct command *cmd, const char *name, bool json_tok_number(struct command *cmd, const char *name,
@ -134,13 +134,13 @@ bool json_tok_number(struct command *cmd, const char *name,
unsigned int **num) unsigned int **num)
{ {
*num = tal(cmd, unsigned int); *num = tal(cmd, unsigned int);
if (!json_to_number(buffer, tok, *num)) { if (json_to_number(buffer, tok, *num))
command_fail(cmd, JSONRPC2_INVALID_PARAMS, return true;
"'%s' should be an integer, not '%.*s'",
name, tok->end - tok->start, buffer + tok->start); command_fail(cmd, JSONRPC2_INVALID_PARAMS,
return false; "'%s' should be an integer, not '%.*s'",
} name, tok->end - tok->start, buffer + tok->start);
return true; return false;
} }
bool json_tok_sha256(struct command *cmd, const char *name, bool json_tok_sha256(struct command *cmd, const char *name,
@ -164,13 +164,13 @@ bool json_tok_u64(struct command *cmd, const char *name,
uint64_t **num) uint64_t **num)
{ {
*num = tal(cmd, uint64_t); *num = tal(cmd, uint64_t);
if (!json_to_u64(buffer, tok, *num)) { if (json_to_u64(buffer, tok, *num))
command_fail(cmd, JSONRPC2_INVALID_PARAMS, return true;
"'%s' should be an unsigned 64 bit integer, not '%.*s'",
name, tok->end - tok->start, buffer + tok->start); command_fail(cmd, JSONRPC2_INVALID_PARAMS,
return false; "'%s' should be an unsigned 64 bit integer, not '%.*s'",
} name, tok->end - tok->start, buffer + tok->start);
return true; return false;
} }
bool json_to_pubkey(const char *buffer, const jsmntok_t *tok, bool json_to_pubkey(const char *buffer, const jsmntok_t *tok,