From 5b867c4b8ece4b4f92ff206fa75a4ea29d870221 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 3 Apr 2017 15:37:33 +0200 Subject: handle TALER_EXCHANGEDB_RO_EXCHANGE_TO_BANK in DB balance calulations --- src/exchange/taler-exchange-httpd_db.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src') diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index f2cd2b3ce..3dc4a3248 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -781,6 +781,23 @@ execute_reserve_withdraw_transaction (struct MHD_Connection *connection, } res |= 1; break; + + case TALER_EXCHANGEDB_RO_EXCHANGE_TO_BANK: + if (0 == (res & 2)) + withdraw_total = pos->details.bank->amount; + else + if (GNUNET_OK != + TALER_amount_add (&withdraw_total, + &withdraw_total, + &pos->details.bank->amount)) + { + TEH_plugin->rollback (TEH_plugin->cls, + session); + return TEH_RESPONSE_reply_internal_db_error (connection, + TALER_EC_WITHDRAW_AMOUNT_WITHDRAWALS_OVERFLOW); + } + res |= 2; + break; } } if (0 == (res & 1)) -- cgit v1.2.3