diff options
author | John Wiegley <johnw@newartisans.com> | 2014-05-17 19:28:44 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2014-05-17 19:28:44 -0500 |
commit | 0f9d558bbf4a93559a8af24b4d4b0ceee39ecde1 (patch) | |
tree | 29a9371d57eaf726cc6f979df67d7233843319dc | |
parent | 9dba3f065447aaaca87150e42070c538ae96d3a2 (diff) | |
parent | 8b3f8d188444510d8ca00e5db90bac0cf5663c91 (diff) | |
download | ledger-0f9d558bbf4a93559a8af24b4d4b0ceee39ecde1.tar.gz ledger-0f9d558bbf4a93559a8af24b4d4b0ceee39ecde1.tar.bz2 ledger-0f9d558bbf4a93559a8af24b4d4b0ceee39ecde1.zip |
Merge pull request #295 from thdox/fix-regression-from-aa2ff2b
Fix bug introduced by commit AA2FF2B
-rw-r--r-- | src/textual.cc | 7 | ||||
-rw-r--r-- | test/regress/AA2FF2B.test | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/textual.cc b/src/textual.cc index 8d4db512..418b6c00 100644 --- a/src/textual.cc +++ b/src/textual.cc @@ -1638,24 +1638,23 @@ post_t * instance_t::parse_post(char * line, "line " << context.linenum << ": " << "post amount = " << amt); amount_t diff = amt; - amount_t tot; switch (account_total.type()) { case value_t::AMOUNT: - tot = account_total.as_amount(); + diff -= account_total.as_amount(); break; case value_t::BALANCE: if (optional<amount_t> comm_bal = account_total.as_balance().commodity_amount(amt.commodity())) - tot = *comm_bal; + diff -= *comm_bal; break; default: break; } - diff -= tot; + amount_t tot = amt - diff; DEBUG("post.assign", "line " << context.linenum << ": " << "diff = " << diff); diff --git a/test/regress/AA2FF2B.test b/test/regress/AA2FF2B.test new file mode 100644 index 00000000..944cdfea --- /dev/null +++ b/test/regress/AA2FF2B.test @@ -0,0 +1,10 @@ +2008/01/20 * La Poste + Revenu:Invest:Exonéré + Actif:Courant:LaPosteLivretA 25,24 € = 25,24 € + +test --args-only --decimal-comma bal + 25,24 € Actif:Courant:LaPosteLivretA + -25,24 € Revenu:Invest:Exonéré +-------------------- + 0 +end test |