diff options
Diffstat (limited to 'src/data/journal.cc')
-rw-r--r-- | src/data/journal.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/data/journal.cc b/src/data/journal.cc index 17294820..bb33f4dc 100644 --- a/src/data/journal.cc +++ b/src/data/journal.cc @@ -542,18 +542,22 @@ journal_t::~journal_t() // be deleted. for (entries_list::iterator i = entries.begin(); i != entries.end(); - i++) + i++) { if (! item_pool || - ((char *) *i) < item_pool || ((char *) *i) >= item_pool_end) + reinterpret_cast<char *>(*i) < item_pool || + reinterpret_cast<char *>(*i) >= item_pool_end) { 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 || - ((char *) *i) < item_pool || ((char *) *i) >= item_pool_end) + reinterpret_cast<char *>(*i) < item_pool || + reinterpret_cast<char *>(*i) >= item_pool_end) checked_delete(*i); else (*i)->~auto_entry_t(); @@ -562,7 +566,8 @@ journal_t::~journal_t() i != period_entries.end(); i++) if (! item_pool || - ((char *) *i) < item_pool || ((char *) *i) >= item_pool_end) + reinterpret_cast<char *>(*i) < item_pool || + reinterpret_cast<char *>(*i) >= item_pool_end) checked_delete(*i); else (*i)->~period_entry_t(); |