diff options
author | Martin Michlmayr <tbm@cyrius.com> | 2020-10-30 15:57:05 +0800 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2020-10-30 10:08:50 -0700 |
commit | f6c5b04fee4884edc36c36a0b57d3f73f79c86e6 (patch) | |
tree | 4b58a5299bab0139f012ad1bdc7a56d31bb90038 | |
parent | f4b16ef2d1860b294f6f93123e0ebc7c9c16e9f2 (diff) | |
download | fork-ledger-f6c5b04fee4884edc36c36a0b57d3f73f79c86e6.tar.gz fork-ledger-f6c5b04fee4884edc36c36a0b57d3f73f79c86e6.tar.bz2 fork-ledger-f6c5b04fee4884edc36c36a0b57d3f73f79c86e6.zip |
Fix regression in sorted_amounts
Commit 557ab32 ("Expose a new utility function for balances:
sorted_amounts") split out some code into a separate function.
Unfortunately, in the process an "if" statement was dropped,
leading to amounts being shown that shouldn't be shown because
they are smaller than the display precision.
Fixes #1969
-rw-r--r-- | src/balance.cc | 3 | ||||
-rw-r--r-- | test/regress/1969.test | 17 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/balance.cc b/src/balance.cc index 0a2a3fec..5d8785db 100644 --- a/src/balance.cc +++ b/src/balance.cc @@ -273,7 +273,8 @@ balance_t::strip_annotations(const keep_details_t& what_to_keep) const void balance_t::sorted_amounts(amounts_array& sorted) const { foreach (const amounts_map::value_type& pair, amounts) - sorted.push_back(&pair.second); + if (pair.second) + sorted.push_back(&pair.second); std::stable_sort( sorted.begin(), sorted.end(), [](const amount_t * left, const amount_t * right) { diff --git a/test/regress/1969.test b/test/regress/1969.test new file mode 100644 index 00000000..4f5a3918 --- /dev/null +++ b/test/regress/1969.test @@ -0,0 +1,17 @@ + +2020-10-30 * Set up liability + Expenses:Test 310.56 EUR + Liabilities:Foo -310.56 EUR + +2020-10-30 * Pay liability + Assets:Bank -416.30 AUD @ 0.746 EUR + Liabilities:Foo + +2020-10-30 * Put another commodity into the account so the account is always displayed + Expenses:Test 10.00 GBP + Liabilities:Foo + +test bal Liabilities:Foo + -10.00 GBP Liabilities:Foo +end test + |