From 042616899f89d38167632e3ff24b16469a27fbef Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 6 Dec 2017 19:24:00 +0100 Subject: largely fix #5077 --- src/bank-lib/bank_api_common.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'src/bank-lib/bank_api_common.c') diff --git a/src/bank-lib/bank_api_common.c b/src/bank-lib/bank_api_common.c index 738d2a5b..b4b19749 100644 --- a/src/bank-lib/bank_api_common.c +++ b/src/bank-lib/bank_api_common.c @@ -80,7 +80,7 @@ TALER_BANK_make_auth_header_ (const struct TALER_BANK_AuthenticationData *auth) authh = append (authh, "X-Taler-Bank-Password", auth->details.basic.password); - return authh; + return authh; } return NULL; } @@ -111,5 +111,33 @@ TALER_BANK_path_to_url_ (const char *u, } +/** + * Parse error code given in @a json. + * + * @param json the json to parse + * @return error code, or #TALER_EC_INVALID if not found + */ +enum TALER_ErrorCode +TALER_BANK_parse_ec_ (const json_t *json) +{ + uint32_t ec; + + struct GNUNET_JSON_Specification spec[] = { + GNUNET_JSON_spec_uint32 ("ec", + &ec), + GNUNET_JSON_spec_end() + }; + + if (GNUNET_OK != + GNUNET_JSON_parse (json, + spec, + NULL, NULL)) + { + GNUNET_break_op (0); + return TALER_EC_INVALID; + } + return (enum TALER_ErrorCode) ec; +} + /* end of bank_api_common.c */ -- cgit v1.2.3