fixed an obscure "print" bug

This commit is contained in:
John Wiegley 2004-09-24 05:33:12 -04:00
parent c5d519447e
commit 2f16a82132
2 changed files with 18 additions and 14 deletions

View file

@ -324,24 +324,22 @@ void format_t::format(std::ostream& out, const details_t& details) const
disp = stream.str();
use_disp = true;
} else {
unsigned int xacts_real_count = 0;
unsigned int xacts_count = 0;
transaction_t * first = NULL;
transaction_t * last = NULL;
for (transactions_list::const_iterator i
= details.entry->transactions.begin();
i != details.entry->transactions.end();
i++)
if (! ((*i)->flags & TRANSACTION_AUTO)) {
xacts_real_count++;
i++) {
xacts_count++;
if (! first)
first = *i;
last = *i;
}
if (! first)
first = *i;
last = *i;
}
use_disp = (xacts_real_count == 2 &&
details.xact == last &&
use_disp = (xacts_count == 2 && details.xact == last &&
first->amount == - last->amount);
}
@ -558,7 +556,6 @@ void export_format()
#if 0
def("partial_account_name", partial_account_name);
#endif
def("display_account", display_account);
}

13
main.py
View file

@ -262,11 +262,18 @@ if config.predicate:
# simple walk in C++, using `walk_entries'.
if 1:
walk_entries (journal, handler)
if command == "e":
walk_transactions (new_entry, handler)
else:
walk_entries (journal, handler)
else:
for entry in journal:
for xact in entry:
if command == "e":
for xact in new_entry:
handler (xact)
else:
for entry in journal:
for xact in entry:
handler (xact)
# Flush the handlers, causing them to output whatever data is still
# pending.