diff --git a/walk.cc b/walk.cc index 6621a263..6786eae4 100644 --- a/walk.cc +++ b/walk.cc @@ -138,8 +138,10 @@ void collapse_transactions::report_cumulative_subtotal() handle_value(result, &totals_account, last_entry, 0, xact_temps, handler); } - subtotal = 0; - count = 0; + last_entry = NULL; + last_xact = NULL; + subtotal = 0; + count = 0; } void changed_value_transactions::output_diff(const std::time_t current) diff --git a/walk.h b/walk.h index a234ed85..b78ae733 100644 --- a/walk.h +++ b/walk.h @@ -273,7 +273,7 @@ class collapse_transactions : public item_handler // If we've reached a new entry, report on the subtotal // accumulated thus far. - if (last_entry && last_entry != xact.entry) + if (last_entry && last_entry != xact.entry && count > 0) report_cumulative_subtotal(); add_transaction_to(xact, subtotal);