diff options
author | John Wiegley <johnw@newartisans.com> | 2004-08-14 04:29:41 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2004-08-14 04:29:41 -0400 |
commit | 24e8977b57218cfac704068a3221558d1ce009a7 (patch) | |
tree | 8954d8f11d356ce3da898a464c27a662004e7a9a | |
parent | a5d9e21065bf553d8ea80914f2cb4d477384939a (diff) | |
download | fork-ledger-24e8977b57218cfac704068a3221558d1ce009a7.tar.gz fork-ledger-24e8977b57218cfac704068a3221558d1ce009a7.tar.bz2 fork-ledger-24e8977b57218cfac704068a3221558d1ce009a7.zip |
fixed -G report
-rw-r--r-- | ledger.h | 1 | ||||
-rw-r--r-- | main.cc | 2 | ||||
-rw-r--r-- | walk.cc | 11 |
3 files changed, 10 insertions, 4 deletions
@@ -34,6 +34,7 @@ namespace ledger { #define TRANSACTION_HANDLED 0x10 #define TRANSACTION_DISPLAYED 0x20 +#define TRANSACTION_NO_TOTAL 0x40 class entry_t; class account_t; @@ -407,7 +407,7 @@ OPT_BEGIN(gain, "G", false) { show_revalued = show_revalued_only = true; - value_expr = "c"; + value_expr = "a"; total_expr = "G"; } OPT_END(gain); @@ -32,7 +32,8 @@ void calc_transactions::operator()(transaction_t * xact) xact->cost.negate(); } - xact->total += *xact; + if (! (xact->dflags & TRANSACTION_NO_TOTAL)) + xact->total += *xact; (*handler)(xact); @@ -102,8 +103,12 @@ void changed_value_transactions::operator()(transaction_t * xact) xact_temps.push_back(temp_xact); temp_xact->amount = (*i).second; - temp_xact->total = (*i).second; - temp_xact->total.negate(); + if (changed_values_only) { + temp_xact->dflags |= TRANSACTION_NO_TOTAL; + } else { + temp_xact->total = (*i).second; + temp_xact->total.negate(); + } (*handler)(temp_xact); } |