summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--walk.cc6
-rw-r--r--walk.h2
2 files changed, 5 insertions, 3 deletions
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<transaction_t>
// 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);