merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 082108f17a5cab98a9718e5a420013c216224fc8
parent bbf17ee238bf2eac6bfeb593af6e2239c7e47329
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Wed, 16 Jul 2025 14:53:25 +0200

-cleanup

Diffstat:
Msrc/backend/taler-merchant-httpd_private-post-orders.c | 43+++++++------------------------------------
1 file changed, 7 insertions(+), 36 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c b/src/backend/taler-merchant-httpd_private-post-orders.c @@ -78,7 +78,7 @@ * refuses a forced download. */ #define MAX_KEYS_WAIT \ - GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 2500) + GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 2500) /** * Generate the base URL for the given merchant instance. @@ -3353,9 +3353,11 @@ add_donau_url (void *cls, int64_t current_year, const json_t *donau_keys_json) { - json_t *json_instances = cls; - GNUNET_assert (0 == json_array_append_new (json_instances, json_string ( - donau_url))); + struct TALER_MERCHANT_ContractOutput *output = cls; + + GNUNET_array_append (output->details.donation_receipt.donau_urls, + output->details.donation_receipt.donau_urls_len, + GNUNET_strdup (donau_url)); } @@ -3363,17 +3365,15 @@ static void parse_donau_instances (struct OrderContext *oc, struct TALER_MERCHANT_ContractOutput *output) { - json_t *json_donau_instances = json_array (); enum GNUNET_DB_QueryStatus qs; /* Invoke the database call, accumulating URLs in a JSON array */ qs = TMH_db->select_donau_instance (TMH_db->cls, &add_donau_url, - json_donau_instances); + oc); if (qs < 0) { - json_decref (json_donau_instances); GNUNET_break_op (0); reply_with_error (oc, MHD_HTTP_INTERNAL_SERVER_ERROR, @@ -3381,35 +3381,6 @@ parse_donau_instances (struct OrderContext *oc, "donau url parsing db call"); return; } - - /* Convert the JSON array of strings into a C array of URLs */ - { - size_t num_instances = json_array_size (json_donau_instances); - if (num_instances > 0) - { - output->details.donation_receipt.donau_urls = malloc (num_instances - * sizeof(char *)); - if (! output->details.donation_receipt.donau_urls) - { - json_decref (json_donau_instances); - GNUNET_break_op (0); - reply_with_error (oc, - MHD_HTTP_INTERNAL_SERVER_ERROR, - TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, - "donau url parsing allocating memory"); - return; - } - output->details.donation_receipt.donau_urls_len = num_instances; - - for (size_t i = 0; i < num_instances; i++) - { - json_t *url_json = json_array_get (json_donau_instances, i); - const char *url_str = json_string_value (url_json); - output->details.donation_receipt.donau_urls[i] = strdup (url_str); - } - } - } - json_decref (json_donau_instances); }