exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 9e46fcb6ea14e0a0039add6e52c05561e7f1016e
parent af660c11f94d80edd8f89ccaca9da2195e23ffcc
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue,  3 Nov 2026 22:52:12 +0100

properly propagate TX failure up

Diffstat:
Msrc/auditor/taler-helper-auditor-coins.c | 15+++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/auditor/taler-helper-auditor-coins.c b/src/auditor/taler-helper-auditor-coins.c @@ -2471,17 +2471,20 @@ purse_refund_cb (struct CoinContext *cc, (void) reserve_pub; /* irrelevant, may even be NULL */ GNUNET_assert (rowid >= TALER_ARL_USE_PP (coins_purse_refunds_serial_id)); /* should be monotonically increasing */ - TALER_ARL_USE_PP (coins_purse_refunds_serial_id) = rowid + 1; - qs = TALER_EXCHANGEDB_iterate_purse_deposits_by_purse (TALER_ARL_edb, - purse_pub, - & - purse_refund_coin_cb, - cc); + qs = TALER_EXCHANGEDB_iterate_purse_deposits_by_purse ( + TALER_ARL_edb, + purse_pub, + &purse_refund_coin_cb, + cc); if (qs < 0) { GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs); + cc->qs = qs; return GNUNET_SYSERR; } + if (0 > cc->qs) + return GNUNET_SYSERR; /* #purse_refund_coin_cb() failed */ + TALER_ARL_USE_PP (coins_purse_refunds_serial_id) = rowid + 1; return GNUNET_OK; }