aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/taler_amount_lib.h11
-rw-r--r--src/util/amount.c12
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.
*