diff options
Diffstat (limited to 'src/exchange')
| -rw-r--r-- | src/exchange/taler-exchange-httpd_db.c | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index 23a59296..f2cd2b3c 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -764,6 +764,23 @@ execute_reserve_withdraw_transaction (struct MHD_Connection *connection,          }        res |= 2;        break; + +    case TALER_EXCHANGEDB_RO_PAYBACK_COIN: +      if (0 == (res & 1)) +        deposit_total = pos->details.payback->value; +      else +        if (GNUNET_OK != +            TALER_amount_add (&deposit_total, +                              &deposit_total, +                              &pos->details.payback->value)) +        { +          TEH_plugin->rollback (TEH_plugin->cls, +                                session); +          return TEH_RESPONSE_reply_internal_db_error (connection, +						       TALER_EC_WITHDRAW_AMOUNT_DEPOSITS_OVERFLOW); +        } +      res |= 1; +      break;      }    }    if (0 == (res & 1)) | 
