diff options
author | John Wiegley <johnw@newartisans.com> | 2012-03-16 15:31:30 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2012-03-16 15:31:30 -0500 |
commit | 00ff141ee75f854d39e78fbf6eda5869a3c4a70f (patch) | |
tree | b2f15453d52d5b153896d3ca2bef7363b2f82173 | |
parent | 630585599786427e25d9758638ff3b7d74680b4f (diff) | |
download | fork-ledger-00ff141ee75f854d39e78fbf6eda5869a3c4a70f.tar.gz fork-ledger-00ff141ee75f854d39e78fbf6eda5869a3c4a70f.tar.bz2 fork-ledger-00ff141ee75f854d39e78fbf6eda5869a3c4a70f.zip |
Always close the last report output stream
Should fix #701
-rw-r--r-- | src/global.h | 5 | ||||
-rw-r--r-- | src/main.cc | 1 | ||||
-rw-r--r-- | src/report.h | 4 |
3 files changed, 10 insertions, 0 deletions
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"); } |