diff options
-rw-r--r-- | src/include/taler_amount_lib.h | 11 | ||||
-rw-r--r-- | src/util/amount.c | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/include/taler_amount_lib.h b/src/include/taler_amount_lib.h index a1f6c7d35..c1f42e473 100644 --- a/src/include/taler_amount_lib.h +++ b/src/include/taler_amount_lib.h @@ -161,6 +161,17 @@ TALER_amount_set_zero (const char *cur, /** + * Test if the given @a amount is zero. + * + * @param amount amount to compare to zero + * @return true if the amount is zero, + * false if it is non-zero or invalid + */ +bool +TALER_amount_is_zero (const struct TALER_Amount *amount); + + +/** * Test if the given amount is valid. * * @param amount amount to check diff --git a/src/util/amount.c b/src/util/amount.c index 01f2a2313..ae9ae652e 100644 --- a/src/util/amount.c +++ b/src/util/amount.c @@ -241,6 +241,18 @@ TALER_amount_is_valid (const struct TALER_Amount *amount) } +bool +TALER_amount_is_zero (const struct TALER_Amount *amount) +{ + if (GNUNET_OK != + TALER_amount_is_valid (amount)) + return false; + return + (0 == amount->value) && + (0 == amount->fraction); +} + + /** * Test if @a a is valid, NBO variant. * |