From 00ff141ee75f854d39e78fbf6eda5869a3c4a70f Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Fri, 16 Mar 2012 15:31:30 -0500 Subject: Always close the last report output stream Should fix #701 --- src/global.h | 5 +++++ src/main.cc | 1 + src/report.h | 4 ++++ 3 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/global.h b/src/global.h index 392b03a9..0c11e025 100644 --- a/src/global.h +++ b/src/global.h @@ -56,6 +56,11 @@ public: global_scope_t(char ** envp); ~global_scope_t(); + void quick_close() { + if (! report_stack.empty()) + report_stack.front().quick_close(); + } + virtual string description() { return _("global scope"); } diff --git a/src/main.cc b/src/main.cc index dc0798e3..9d2ba311 100644 --- a/src/main.cc +++ b/src/main.cc @@ -212,6 +212,7 @@ int main(int argc, char * argv[], char * envp[]) } else #endif { + global_scope->quick_close(); INFO("Ledger ended"); // let global_scope leak! } diff --git a/src/report.h b/src/report.h index 280b2f48..aca4f466 100644 --- a/src/report.h +++ b/src/report.h @@ -125,6 +125,10 @@ public: output_stream.close(); } + void quick_close() { + output_stream.close(); + } + virtual string description() { return _("current report"); } -- cgit v1.2.3