From 2edee5ac4a4886e71db6e28314334cd24c6d3a55 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 14 Jan 2020 15:57:36 +0100 Subject: refactor uri parsing logic, prepare for unit test --- src/lib/exchange_api_handle.c | 2 +- src/lib/testing_api_helpers_bank.c | 33 +++++++++++---------------------- 2 files changed, 12 insertions(+), 23 deletions(-) (limited to 'src/lib') diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index abb95816c..6b51519fd 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -1262,7 +1262,7 @@ keys_completed_cb (void *cls, for (unsigned int i = 0; ibank_url + = TALER_xtalerbank_base_url_from_payto (payto_url); + if (NULL == bc->bank_url) { GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_WARNING, config_section, "URL", "expected `x-taler-bank' payto://-URL"); - GNUNET_CONFIGURATION_destroy (cfg); GNUNET_free (payto_url); return GNUNET_SYSERR; } - start = &payto_url [strlen ("payto://x-taler-bank/")]; - end = strchr (start, - (unsigned char) '/'); - if (NULL == end) - end = &start[strlen (start)]; - fakebank_url = GNUNET_strndup (start, - end - start); - GNUNET_free (payto_url); if (GNUNET_OK != - TALER_TESTING_url_port_free (fakebank_url)) + TALER_TESTING_url_port_free (bc->bank_url)) { - GNUNET_free (fakebank_url); + GNUNET_free (bc->bank_url); + bc->bank_url = NULL; + GNUNET_free (payto_url); return GNUNET_SYSERR; } - bc->bank_url = fakebank_url; - GNUNET_asprintf (&bc->exchange_account_url, - "%s/%s", - bc->bank_url, - EXCHANGE_ACCOUNT_NAME); + bc->exchange_account_url + = TALER_xtalerbank_account_url_from_payto (payto_url); + GNUNET_assert (NULL != bc->exchange_account_url); + GNUNET_free (payto_url); bc->exchange_auth.method = TALER_BANK_AUTH_NONE; bc->exchange_payto = TALER_payto_xtalerbank_make (bc->bank_url, "2"); bc->user42_payto = TALER_payto_xtalerbank_make (bc->bank_url, "42"); -- cgit v1.2.3