summaryrefslogtreecommitdiff
path: root/src/xact.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-10-28 01:15:57 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-10-28 01:15:57 -0400
commitb7233edd8a7101c16d41837a8ebe2710ede76cc7 (patch)
tree3bcec070b129e4888e3a855bc542430710b3f513 /src/xact.cc
parentade0a8b6f3eeb893eda2ae7355d503bf6514f147 (diff)
downloadfork-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.cc15
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);
}