summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/textual.cc7
-rw-r--r--test/regress/AA2FF2B.test10
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