Changed truncate_entries so that --head and --tail can be used at the
same time.
This commit is contained in:
parent
547be3056d
commit
d0997fa821
3 changed files with 13 additions and 13 deletions
4
main.cc
4
main.cc
|
|
@ -78,9 +78,7 @@ chain_xact_handlers(const std::string& command,
|
||||||
if (config.head_entries || config.tail_entries)
|
if (config.head_entries || config.tail_entries)
|
||||||
ptrs.push_back(formatter =
|
ptrs.push_back(formatter =
|
||||||
new truncate_entries(formatter,
|
new truncate_entries(formatter,
|
||||||
config.head_entries ?
|
config.head_entries,
|
||||||
config.head_entries :
|
|
||||||
config.tail_entries,
|
|
||||||
config.tail_entries));
|
config.tail_entries));
|
||||||
|
|
||||||
// filter_transactions will only pass through transactions
|
// filter_transactions will only pass through transactions
|
||||||
|
|
|
||||||
14
walk.cc
14
walk.cc
|
|
@ -85,18 +85,20 @@ void truncate_entries::flush()
|
||||||
}
|
}
|
||||||
|
|
||||||
bool print = false;
|
bool print = false;
|
||||||
if (tailwise) {
|
if (head_count) {
|
||||||
if (count > 0 && l - i <= count)
|
|
||||||
print = true;
|
|
||||||
else if (count < 0 && l - i > - count)
|
|
||||||
print = true;
|
|
||||||
} else {
|
|
||||||
if (count > 0 && i < count)
|
if (count > 0 && i < count)
|
||||||
print = true;
|
print = true;
|
||||||
else if (count < 0 && i >= - count)
|
else if (count < 0 && i >= - count)
|
||||||
print = true;
|
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)
|
if (print)
|
||||||
item_handler<transaction_t>::operator()(**x);
|
item_handler<transaction_t>::operator()(**x);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
walk.h
8
walk.h
|
|
@ -147,16 +147,16 @@ class ignore_transactions : public item_handler<transaction_t>
|
||||||
|
|
||||||
class truncate_entries : public item_handler<transaction_t>
|
class truncate_entries : public item_handler<transaction_t>
|
||||||
{
|
{
|
||||||
int count;
|
int head_count;
|
||||||
bool tailwise;
|
int tail_count;
|
||||||
|
|
||||||
transactions_list xacts;
|
transactions_list xacts;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
truncate_entries(item_handler<transaction_t> * handler,
|
truncate_entries(item_handler<transaction_t> * handler,
|
||||||
int _count, bool _tailwise = false)
|
int _head_count, int _tail_count)
|
||||||
: item_handler<transaction_t>(handler),
|
: item_handler<transaction_t>(handler),
|
||||||
count(_count), tailwise(_tailwise) {}
|
head_count(_head_count), tail_count(_tail_count) {}
|
||||||
|
|
||||||
virtual void flush();
|
virtual void flush();
|
||||||
virtual void operator()(transaction_t& xact) {
|
virtual void operator()(transaction_t& xact) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue