diff options
-rw-r--r-- | src/include/taler_amount_lib.h | 3 | ||||
-rw-r--r-- | src/mint-lib/mint_api_withdraw.c | 9 | ||||
-rw-r--r-- | src/mint-lib/test_mint_api.c | 2 | ||||
-rw-r--r-- | src/util/amount.c | 5 |
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, |