aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/taler_amount_lib.h3
-rw-r--r--src/mint-lib/mint_api_withdraw.c9
-rw-r--r--src/mint-lib/test_mint_api.c2
-rw-r--r--src/util/amount.c5
4 files changed, 13 insertions, 6 deletions
diff --git a/src/include/taler_amount_lib.h b/src/include/taler_amount_lib.h
index 0a7111003..d0024a8a0 100644
--- a/src/include/taler_amount_lib.h
+++ b/src/include/taler_amount_lib.h
@@ -169,6 +169,9 @@ TALER_amount_ntoh (struct TALER_Amount *res,
* @param a1 first amount
* @param a2 second amount
* @return result of the comparison
+ * -1 if `a1 < a2`
+ * 1 if `a1 > a2`
+ * 0 if `a1 == a2`.
*/
int
TALER_amount_cmp (const struct TALER_Amount *a1,
diff --git a/src/mint-lib/mint_api_withdraw.c b/src/mint-lib/mint_api_withdraw.c
index 1b13a0d9a..491f4d765 100644
--- a/src/mint-lib/mint_api_withdraw.c
+++ b/src/mint-lib/mint_api_withdraw.c
@@ -655,7 +655,7 @@ withdraw_sign_ok (struct TALER_MINT_WithdrawSignHandle *wsh,
struct GNUNET_CRYPTO_rsa_Signature *sig;
struct TALER_DenominationSignature dsig;
struct MAJ_Specification spec[] = {
- MAJ_spec_fixed_auto ("ev_sig", &blind_sig),
+ MAJ_spec_rsa_signature ("ev_sig", &blind_sig),
MAJ_spec_end
};
@@ -771,10 +771,10 @@ withdraw_sign_payment_required (struct TALER_MINT_WithdrawSignHandle *wsh,
return GNUNET_SYSERR;
}
/* Check that funds were really insufficient */
- if (0 < TALER_amount_cmp (&requested_amount,
- &balance))
+ if (0 >= TALER_amount_cmp (&requested_amount,
+ &balance))
{
- /* Requested amount is smaller than reported balance,
+ /* Requested amount is smaller or equal to reported balance,
so this should not have failed. */
GNUNET_break_op (0);
return GNUNET_SYSERR;
@@ -971,6 +971,7 @@ TALER_MINT_withdraw_sign (struct TALER_MINT_Handle *mint,
wsh->mint = mint;
wsh->cb = res_cb;
wsh->cb_cls = res_cb_cls;
+ wsh->pk = pk;
GNUNET_CRYPTO_eddsa_key_get_public (&coin_priv->eddsa_priv,
&coin_pub.eddsa_pub);
diff --git a/src/mint-lib/test_mint_api.c b/src/mint-lib/test_mint_api.c
index 8d206970d..986617c26 100644
--- a/src/mint-lib/test_mint_api.c
+++ b/src/mint-lib/test_mint_api.c
@@ -819,7 +819,7 @@ run (void *cls,
{ .oc = OC_ADMIN_ADD_INCOMING,
.label = "create-reserve-1",
.details.admin_add_incoming.wire = "{ \"bank\":\"source bank\", \"account\":42 }",
- .details.admin_add_incoming.amount = "EUR:5" },
+ .details.admin_add_incoming.amount = "EUR:5.01" },
{ .oc = OC_WITHDRAW_SIGN,
.label = "withdraw-coin-1",
.details.withdraw_sign.reserve_reference = "create-reserve-1",
diff --git a/src/util/amount.c b/src/util/amount.c
index 20b8618df..bc8ea24ba 100644
--- a/src/util/amount.c
+++ b/src/util/amount.c
@@ -305,7 +305,10 @@ TALER_amount_cmp_currency_nbo (const struct TALER_AmountNBO *a1,
*
* @param a1 first amount
* @param a2 second amount
- * @return result of the comparison
+ * @return result of the comparison,
+ * -1 if `a1 < a2`
+ * 1 if `a1 > a2`
+ * 0 if `a1 == a2`.
*/
int
TALER_amount_cmp (const struct TALER_Amount *a1,