diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-08-12 20:12:39 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-08-12 20:12:39 +0200 |
commit | 6256bdb15a7c43b644132ae8c78adf31bcae4d28 (patch) | |
tree | affbc2d58bf792b276ee5e2c533fe16e96cf1871 /src/util | |
parent | 26f72f8572cf0d04cd0da718d34dad4ba479289c (diff) |
implement #6478, but untested as shown by FIXMEs
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/amount.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/util/amount.c b/src/util/amount.c index b5e28051c..5b0c3af53 100644 --- a/src/util/amount.c +++ b/src/util/amount.c @@ -391,6 +391,35 @@ TALER_amount_cmp (const struct TALER_Amount *a1, /** + * Compare the value/fraction of two amounts. Does not compare the currency. + * Comparing amounts of different currencies will cause the program to abort(). + * If unsure, check with #TALER_amount_cmp_currency() first to be sure that + * the currencies of the two amounts are identical. NBO variant. + * + * @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_nbo (const struct TALER_AmountNBO *a1, + const struct TALER_AmountNBO *a2) +{ + struct TALER_Amount h1; + struct TALER_Amount h2; + + TALER_amount_ntoh (&h1, + a1); + TALER_amount_ntoh (&h2, + a2); + return TALER_amount_cmp (&h1, + &h2); +} + + +/** * Perform saturating subtraction of amounts. * * @param[out] diff where to store (@a a1 - @a a2), or invalid if @a a2 > @a a1 |