summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/exchange_api_refund.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c
index ee634e7f6..55f71757c 100644
--- a/src/lib/exchange_api_refund.c
+++ b/src/lib/exchange_api_refund.c
@@ -377,13 +377,20 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh,
TALER_amount_ntoh (&amount,
&rh->depconf.refund_amount);
- if (0 >
- TALER_amount_add (&rtotal,
- &rtotal,
- &amount))
+ if (have_refund)
{
- GNUNET_break (0);
- return GNUNET_SYSERR;
+ if (0 >
+ TALER_amount_add (&rtotal,
+ &rtotal,
+ &amount))
+ {
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
+ }
+ else
+ {
+ rtotal = amount;
}
}
if (-1 == TALER_amount_cmp (&dtotal,