commit eefbf80ccfeb22e51ed14939f5eac48063900a3f
parent 01a2db3aa7d2e31344fe26705df58849646320ab
Author: Florian Dold <dold@taler.net>
Date: Wed, 29 Jul 2026 20:08:19 +0200
fix currency cmp
Diffstat:
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/src/backend/taler-merchant-exchangekeyupdate.c b/src/backend/taler-merchant-exchangekeyupdate.c
@@ -575,8 +575,8 @@ cert_cb (
case MHD_HTTP_OK:
TALER_EXCHANGE_keys_decref (e->keys);
e->keys = NULL;
- if (0 != strcmp (e->currency,
- keys->currency))
+ if (0 != strcasecmp (e->currency,
+ keys->currency))
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"/keys response from `%s' is for currency `%s', but we expected `%s'. Ignoring response.\n",
@@ -921,8 +921,8 @@ accept_exchanges (void *cls,
return;
}
if ( (NULL != keys) &&
- (0 != strcmp (keys->currency,
- e->currency)) )
+ (0 != strcasecmp (keys->currency,
+ e->currency)) )
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"/keys cached in our database were for currency `%s', but we expected `%s'. Fetching /keys again.\n",
diff --git a/src/backend/taler-merchant-httpd_exchanges.c b/src/backend/taler-merchant-httpd_exchanges.c
@@ -900,8 +900,8 @@ TMH_test_exchange_configured_for_currency (
continue;
if (NULL == exchange->currency)
continue;
- if (0 == strcmp (currency,
- exchange->currency))
+ if (0 == strcasecmp (currency,
+ exchange->currency))
return true;
}
return false;
@@ -944,8 +944,8 @@ reload_exchange_keys (struct TMH_Exchange *exchange)
exchange->first_retry = first_retry;
if (NULL == exchange->currency)
exchange->currency = GNUNET_strdup (keys->currency);
- if (0 != strcmp (keys->currency,
- exchange->currency))
+ if (0 != strcasecmp (keys->currency,
+ exchange->currency))
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"/keys cached in our database are for currency `%s', but we expected `%s'\n",
diff --git a/src/backend/taler-merchant-httpd_get-private-statistics-report-transactions.c b/src/backend/taler-merchant-httpd_get-private-statistics-report-transactions.c
@@ -237,8 +237,8 @@ amount_by_bucket (void *cls,
for (unsigned int j = 0; j<rctx->labels_cnt; j++)
{
- if (0 == strcmp (amounts[i].currency,
- rctx->labels[j]))
+ if (0 == strcasecmp (amounts[i].currency,
+ rctx->labels[j]))
{
found = true;
break;
@@ -263,8 +263,8 @@ amount_by_bucket (void *cls,
{
const struct TALER_Amount *a = &amounts[j];
- if (0 != strcmp (amounts[j].currency,
- label))
+ if (0 != strcasecmp (amounts[j].currency,
+ label))
continue;
d = a->value * 1.0
+ (a->fraction * 1.0 / TALER_AMOUNT_FRAC_BASE);
diff --git a/src/backenddb/do_increase_refund.c b/src/backenddb/do_increase_refund.c
@@ -416,8 +416,9 @@ process_deposits_for_refund_cb (void *cls,
}
el = setup_exchange (ctx,
rcdi->exchange_url);
- if (0 != strcmp (rcdi->deposited_with_fee.currency,
- ctx->refund->currency))
+ if (GNUNET_YES !=
+ TALER_amount_cmp_currency (&rcdi->deposited_with_fee,
+ ctx->refund))
{
GNUNET_break_op (0);
ctx->rs = TALER_MERCHANTDB_RS_BAD_CURRENCY;