summaryrefslogtreecommitdiff
path: root/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'main.cc')
-rw-r--r--main.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/main.cc b/main.cc
index 81a5d1e5..23b9049b 100644
--- a/main.cc
+++ b/main.cc
@@ -3,6 +3,7 @@
#include "textual.h"
#include "binary.h"
#include "qif.h"
+#include "acconf.h"
#ifdef READ_GNUCASH
#include "gnucash.h"
#endif
@@ -140,6 +141,10 @@ regexps_to_predicate(std::list<std::string>::const_iterator begin,
int main(int argc, char * argv[], char * envp[])
{
+#ifdef DO_CLEANUP
+ initialize();
+#endif
+
std::auto_ptr<journal_t> journal(new journal_t);
// Initialize the global configuration object for this run
@@ -189,6 +194,9 @@ int main(int argc, char * argv[], char * envp[])
// Setup the parsers
std::auto_ptr<binary_parser_t> bin_parser(new binary_parser_t);
+#ifdef READ_GNUCASH
+ std::auto_ptr<gnucash_parser_t> gnucash_parser(new gnucash_parser_t);
+#endif
std::auto_ptr<qif_parser_t> qif_parser(new qif_parser_t);
std::auto_ptr<textual_parser_t> text_parser(new textual_parser_t);
@@ -626,6 +634,10 @@ int main(int argc, char * argv[], char * envp[])
TIMER_STOP(write_cache);
+#ifdef DO_CLEANUP
+ shutdown();
+#endif
+
return 0;
}