merchant

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

commit b197310f22dc2cf2324ed6cb8c5e86d24cc30d9b
parent 138ff1354a7d4341dfc3475b4801a30552437f0a
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Sun, 19 Jul 2026 12:21:33 +0200

fix missing set_instance

Diffstat:
Msrc/backend/taler-merchant-depositcheck.c | 65++++++++++++++++++++++++++++++-----------------------------------
1 file changed, 30 insertions(+), 35 deletions(-)

diff --git a/src/backend/taler-merchant-depositcheck.c b/src/backend/taler-merchant-depositcheck.c @@ -426,54 +426,46 @@ deposit_get_cb ( const struct TALER_EXCHANGE_GetDepositsResponse *dr) { struct GNUNET_TIME_Absolute future_retry; + enum GNUNET_DB_QueryStatus qs; w->dgh = NULL; + qs = TALER_MERCHANTDB_set_instance ( + pg, + w->instance_id); + if (qs <= 0) + { + GNUNET_break (0); + global_ret = EXIT_FAILURE; + GNUNET_SCHEDULER_shutdown (); + return; + } future_retry = GNUNET_TIME_relative_to_absolute (w->retry_backoff); switch (dr->hr.http_status) { case MHD_HTTP_OK: + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Exchange returned wire transfer over %s for deposited coin %s\n", + TALER_amount2s (&dr->details.ok.coin_contribution), + TALER_B2S (&w->coin_pub)); + qs = TALER_MERCHANTDB_insert_deposit_to_transfer ( + pg, + w->deposit_serial, + &w->h_wire, + exchange_url, + &dr->details.ok); + if (qs <= 0) { - enum GNUNET_DB_QueryStatus qs; - - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Exchange returned wire transfer over %s for deposited coin %s\n", - TALER_amount2s (&dr->details.ok.coin_contribution), - TALER_B2S (&w->coin_pub)); - qs = TALER_MERCHANTDB_set_instance ( - pg, - w->instance_id); - if (qs <= 0) - { - GNUNET_break (0); - global_ret = EXIT_FAILURE; - GNUNET_SCHEDULER_shutdown (); - return; - } - qs = TALER_MERCHANTDB_insert_deposit_to_transfer ( - pg, - w->deposit_serial, - &w->h_wire, - exchange_url, - &dr->details.ok); - if (qs <= 0) - { - GNUNET_break (0); - global_ret = EXIT_FAILURE; - GNUNET_SCHEDULER_shutdown (); - return; - } - GNUNET_break (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == - TALER_MERCHANTDB_set_instance ( - pg, - NULL)); - break; + GNUNET_break (0); + global_ret = EXIT_FAILURE; + GNUNET_SCHEDULER_shutdown (); + return; } + break; case MHD_HTTP_ACCEPTED: { /* got a 'preliminary' reply from the exchange, remember our target UUID */ - enum GNUNET_DB_QueryStatus qs; struct GNUNET_TIME_Timestamp now; GNUNET_log (GNUNET_ERROR_TYPE_INFO, @@ -595,6 +587,9 @@ deposit_get_cb ( break; } } /* end switch */ + GNUNET_break (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == + TALER_MERCHANTDB_set_instance (pg, + NULL)); GNUNET_CONTAINER_DLL_remove (w_head, w_tail,