summaryrefslogtreecommitdiff
path: root/src/testing/testing_api_cmd_tip_pickup.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-11-04 21:02:35 +0100
committerChristian Grothoff <christian@grothoff.org>2021-11-04 21:02:35 +0100
commit874a89a648c9f06e54a9e5a3bdc987a87ef8247b (patch)
tree58ab27592b1140848186596170dc0b859518faa1 /src/testing/testing_api_cmd_tip_pickup.c
parentdc5a68932a5803e2687749453aaacf256c340a14 (diff)
downloadmerchant-874a89a648c9f06e54a9e5a3bdc987a87ef8247b.tar.gz
merchant-874a89a648c9f06e54a9e5a3bdc987a87ef8247b.tar.bz2
merchant-874a89a648c9f06e54a9e5a3bdc987a87ef8247b.zip
fix trait usage
Diffstat (limited to 'src/testing/testing_api_cmd_tip_pickup.c')
-rw-r--r--src/testing/testing_api_cmd_tip_pickup.c53
1 files changed, 24 insertions, 29 deletions
diff --git a/src/testing/testing_api_cmd_tip_pickup.c b/src/testing/testing_api_cmd_tip_pickup.c
index 1c72f02b..cd73c53d 100644
--- a/src/testing/testing_api_cmd_tip_pickup.c
+++ b/src/testing/testing_api_cmd_tip_pickup.c
@@ -323,44 +323,39 @@ tip_pickup_cleanup (void *cls,
}
-static int
+static enum GNUNET_GenericReturnValue
tip_pickup_traits (void *cls,
const void **ret,
const char *trait,
unsigned int index)
{
struct TipPickupState *tps = cls;
- #define NUM_TRAITS (tps->num_coins * 5) + 4
- struct TALER_TESTING_Trait traits[NUM_TRAITS];
- for (unsigned int i = 0; i<tps->num_coins; i++)
+ if (index >= tps->num_coins)
+ return GNUNET_SYSERR;
{
- traits[i] = TALER_TESTING_make_trait_planchet_secrets (i,
- &tps->psa[i]);
- traits[i + tps->num_coins] =
- TALER_TESTING_make_trait_coin_priv (i,
- &tps->psa[i].coin_priv);
- traits[i + (tps->num_coins * 2)] =
- TALER_TESTING_make_trait_denom_pub (i,
- tps->dks[i]);
- traits[i + (tps->num_coins * 3)] =
- TALER_TESTING_make_trait_denom_sig (i,
- &tps->sigs[i]);
- traits[i + (tps->num_coins * 4)] =
- TALER_TESTING_make_trait_amounts (i,
- &tps->amounts_obj[i]);
+ struct TALER_TESTING_Trait traits[] = {
+ TALER_TESTING_make_trait_planchet_secrets (index,
+ &tps->psa[index]),
+ TALER_TESTING_make_trait_coin_priv (index,
+ &tps->psa[index].coin_priv),
+ TALER_TESTING_make_trait_denom_pub (index,
+ tps->dks[index]),
+ TALER_TESTING_make_trait_denom_sig (index,
+ &tps->sigs[index]),
+ TALER_TESTING_make_trait_amounts (index,
+ &tps->amounts_obj[index]),
+ TALER_TESTING_make_trait_amount (&tps->total_amount),
+ TALER_TESTING_make_trait_num_planchets (&tps->num_coins),
+ TALER_TESTING_make_trait_exchange_url (&tps->exchange_url),
+ TALER_TESTING_trait_end ()
+ };
+
+ return TALER_TESTING_get_trait (traits,
+ ret,
+ trait,
+ index);
}
- traits[NUM_TRAITS - 4]
- = TALER_TESTING_make_trait_amount (&tps->total_amount);
- traits[NUM_TRAITS - 3]
- = TALER_TESTING_make_trait_num_planchets (&tps->num_coins);
- traits[NUM_TRAITS - 2]
- = TALER_TESTING_make_trait_exchange_url (&tps->exchange_url);
- traits[NUM_TRAITS - 1] = TALER_TESTING_trait_end ();
- return TALER_TESTING_get_trait (traits,
- ret,
- trait,
- index);
}