diff options
author | John Wiegley <johnw@newartisans.com> | 2009-10-28 01:15:57 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-10-28 01:15:57 -0400 |
commit | b7233edd8a7101c16d41837a8ebe2710ede76cc7 (patch) | |
tree | 3bcec070b129e4888e3a855bc542430710b3f513 /src/xact.cc | |
parent | ade0a8b6f3eeb893eda2ae7355d503bf6514f147 (diff) | |
download | fork-ledger-b7233edd8a7101c16d41837a8ebe2710ede76cc7.tar.gz fork-ledger-b7233edd8a7101c16d41837a8ebe2710ede76cc7.tar.bz2 fork-ledger-b7233edd8a7101c16d41837a8ebe2710ede76cc7.zip |
Added some additional assertion tests re: temps
Diffstat (limited to 'src/xact.cc')
-rw-r--r-- | src/xact.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/xact.cc b/src/xact.cc index 6ea8d8f9..9f118ec2 100644 --- a/src/xact.cc +++ b/src/xact.cc @@ -49,16 +49,23 @@ xact_base_t::~xact_base_t() { TRACE_DTOR(xact_base_t); - foreach (post_t * post, posts) { - // If the posting is a temporary, it will be destructed when the - // temporary is. - if (! post->has_flags(ITEM_TEMP)) + if (! has_flags(ITEM_TEMP)) { + foreach (post_t * post, posts) { + // If the posting is a temporary, it will be destructed when the + // temporary is. + assert(! post->has_flags(ITEM_TEMP)); checked_delete(post); + } } } void xact_base_t::add_post(post_t * post) { + // You can add temporary postings to transactions, but not real postings to + // temporary transactions. + if (! post->has_flags(ITEM_TEMP)) + assert(! has_flags(ITEM_TEMP)); + posts.push_back(post); } |