diff options
author | John Wiegley <johnw@newartisans.com> | 2005-02-15 00:45:30 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 02:41:00 -0400 |
commit | d0997fa821557eaf65c9137d0b8adc0f231dc2f2 (patch) | |
tree | e5225bc39679859a7b93ddbd95666a8af345a874 | |
parent | 547be3056d652726699a2a4fcd656495c3a53c07 (diff) | |
download | fork-ledger-d0997fa821557eaf65c9137d0b8adc0f231dc2f2.tar.gz fork-ledger-d0997fa821557eaf65c9137d0b8adc0f231dc2f2.tar.bz2 fork-ledger-d0997fa821557eaf65c9137d0b8adc0f231dc2f2.zip |
Changed truncate_entries so that --head and --tail can be used at the
same time.
-rw-r--r-- | main.cc | 4 | ||||
-rw-r--r-- | walk.cc | 14 | ||||
-rw-r--r-- | walk.h | 8 |
3 files changed, 13 insertions, 13 deletions
@@ -78,9 +78,7 @@ chain_xact_handlers(const std::string& command, if (config.head_entries || config.tail_entries) ptrs.push_back(formatter = new truncate_entries(formatter, - config.head_entries ? - config.head_entries : - config.tail_entries, + config.head_entries, config.tail_entries)); // filter_transactions will only pass through transactions @@ -85,18 +85,20 @@ void truncate_entries::flush() } bool print = false; - if (tailwise) { - if (count > 0 && l - i <= count) - print = true; - else if (count < 0 && l - i > - count) - print = true; - } else { + if (head_count) { if (count > 0 && i < count) print = true; else if (count < 0 && i >= - count) print = true; } + if (! print && tail_count) { + if (count > 0 && l - i <= count) + print = true; + else if (count < 0 && l - i > - count) + print = true; + } + if (print) item_handler<transaction_t>::operator()(**x); } @@ -147,16 +147,16 @@ class ignore_transactions : public item_handler<transaction_t> class truncate_entries : public item_handler<transaction_t> { - int count; - bool tailwise; + int head_count; + int tail_count; transactions_list xacts; public: truncate_entries(item_handler<transaction_t> * handler, - int _count, bool _tailwise = false) + int _head_count, int _tail_count) : item_handler<transaction_t>(handler), - count(_count), tailwise(_tailwise) {} + head_count(_head_count), tail_count(_tail_count) {} virtual void flush(); virtual void operator()(transaction_t& xact) { |