From 38e9c6c76c486b95c1e29f61bdb4597ce3c544fd Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sat, 7 Aug 2004 21:46:05 -0400 Subject: print is working again --- walk.h | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'walk.h') diff --git a/walk.h b/walk.h index 160dcc6a..cff0209a 100644 --- a/walk.h +++ b/walk.h @@ -66,20 +66,13 @@ void handle_transaction(transaction_t * xact, const Function& functor, unsigned int flags) { - if ((flags & MATCHING_TRANSACTIONS) && - ! (xact->flags & TRANSACTION_HANDLED)) { - xact->flags |= TRANSACTION_HANDLED; - functor(xact); - } - - if (flags & OTHER_TRANSACTIONS) - for (transactions_list::iterator i = xact->entry->transactions.begin(); - i != xact->entry->transactions.end(); - i++) { - if (*i == xact || ((*i)->flags & (TRANSACTION_AUTO | - TRANSACTION_HANDLED))) - continue; - + for (transactions_list::iterator i = xact->entry->transactions.begin(); + i != xact->entry->transactions.end(); + i++) + if (! ((*i)->flags & (TRANSACTION_AUTO | TRANSACTION_HANDLED)) && + (*i == xact ? + (flags & MATCHING_TRANSACTIONS) : + (flags & OTHER_TRANSACTIONS))) { (*i)->flags |= TRANSACTION_HANDLED; functor(*i); } -- cgit v1.2.3