commit 082108f17a5cab98a9718e5a420013c216224fc8
parent bbf17ee238bf2eac6bfeb593af6e2239c7e47329
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Wed, 16 Jul 2025 14:53:25 +0200
-cleanup
Diffstat:
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);
}