diff options
author | John Wiegley <johnw@newartisans.com> | 2008-07-31 04:28:58 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-07-31 04:28:58 -0400 |
commit | 8276b51f5692796bfdf75dd64f709e0de1c7caaf (patch) | |
tree | 8f2a964080d2ee7e90400e158d3f89e9ffdbfa75 /journal.cc | |
parent | 208c414ab9600eca4852034a923418948629ced0 (diff) | |
download | ledger-8276b51f5692796bfdf75dd64f709e0de1c7caaf.tar.gz ledger-8276b51f5692796bfdf75dd64f709e0de1c7caaf.tar.bz2 ledger-8276b51f5692796bfdf75dd64f709e0de1c7caaf.zip |
A new binary_cache_t object has been creating to manage saving and restoring a
Ledger session from a cache file. It doesn't work at all yet, though at least
the major structures are in place now.
Diffstat (limited to 'journal.cc')
-rw-r--r-- | journal.cc | 27 |
1 files changed, 8 insertions, 19 deletions
@@ -36,11 +36,11 @@ namespace ledger { const string version = PACKAGE_VERSION; -journal_t::journal_t(session_t * _owner) : - owner(_owner), basket(NULL), item_pool(NULL), item_pool_end(NULL) +journal_t::journal_t(session_t * _owner) + : owner(_owner), basket(NULL) { TRACE_CTOR(journal_t, ""); - master = owner->master; + master = owner->master.get(); } journal_t::~journal_t() @@ -52,22 +52,16 @@ journal_t::~journal_t() // be deleted. for (entries_list::iterator i = entries.begin(); i != entries.end(); - i++) { - if (! item_pool || - reinterpret_cast<char *>(*i) < item_pool || - reinterpret_cast<char *>(*i) >= item_pool_end) { + i++) + if (! (*i)->has_flags(ENTRY_IN_CACHE)) checked_delete(*i); - } else { + else (*i)->~entry_t(); - } - } for (auto_entries_list::iterator i = auto_entries.begin(); i != auto_entries.end(); i++) - if (! item_pool || - reinterpret_cast<char *>(*i) < item_pool || - reinterpret_cast<char *>(*i) >= item_pool_end) + if (! (*i)->has_flags(ENTRY_IN_CACHE)) checked_delete(*i); else (*i)->~auto_entry_t(); @@ -75,15 +69,10 @@ journal_t::~journal_t() for (period_entries_list::iterator i = period_entries.begin(); i != period_entries.end(); i++) - if (! item_pool || - reinterpret_cast<char *>(*i) < item_pool || - reinterpret_cast<char *>(*i) >= item_pool_end) + if (! (*i)->has_flags(ENTRY_IN_CACHE)) checked_delete(*i); else (*i)->~period_entry_t(); - - if (item_pool) - checked_array_delete(item_pool); } void journal_t::add_account(account_t * acct) |