diff options
| author | Christian Grothoff <christian@grothoff.org> | 2017-04-03 13:59:01 +0200 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2017-04-03 13:59:01 +0200 | 
| commit | c9995bd758985f6e970e53a62804a423b889994e (patch) | |
| tree | 7a02c59fa0ada77c94b5ead3968cebc1e1cdfdbb /src | |
| parent | e8f7674ca44d705df13ff1d562a92280e215d52e (diff) | |
handle  TALER_EXCHANGEDB_RO_PAYBACK_COIN in DB balance calulations
Diffstat (limited to 'src')
| -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))  | 
