diff options
author | John Wiegley <johnw@newartisans.com> | 2012-05-15 00:22:00 -0600 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2012-05-15 00:22:00 -0600 |
commit | 72dd4d85bdd1f6da79dee405366311e6da96776b (patch) | |
tree | e3e0a0d6bb7bec06505965da4e845e12bbc63971 /src/account.cc | |
parent | 64a9b42381c26baf24e58b40f50f0b253e551811 (diff) | |
parent | 96172669053bbba7263a370f109f70615049a0c6 (diff) | |
download | ledger-72dd4d85bdd1f6da79dee405366311e6da96776b.tar.gz ledger-72dd4d85bdd1f6da79dee405366311e6da96776b.tar.bz2 ledger-72dd4d85bdd1f6da79dee405366311e6da96776b.zip |
Merge branch 'release/v3.0.0-20120510'
Diffstat (limited to 'src/account.cc')
-rw-r--r-- | src/account.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/account.cc b/src/account.cc index 206e2350..1ea13330 100644 --- a/src/account.cc +++ b/src/account.cc @@ -309,6 +309,10 @@ namespace { return (! account.self_details().latest_checkout.is_not_a_date_time() ? value_t(account.self_details().latest_checkout) : NULL_VALUE); } + value_t get_latest_checkout_cleared(account_t& account) + { + return account.self_details().latest_checkout_cleared; + } template <value_t (*Func)(account_t&)> value_t get_wrapper(call_scope_t& args) { @@ -405,6 +409,8 @@ expr_t::ptr_op_t account_t::lookup(const symbol_t::kind_t kind, return WRAP_FUNCTOR(get_wrapper<&get_latest>); else if (fn_name == "latest_checkout") return WRAP_FUNCTOR(get_wrapper<&get_latest_checkout>); + else if (fn_name == "latest_checkout_cleared") + return WRAP_FUNCTOR(get_wrapper<&get_latest_checkout_cleared>); break; case 'n': @@ -662,8 +668,10 @@ void account_t::xdata_t::details_t::update(post_t& post, earliest_checkin = *post.checkin; if (post.checkout && (latest_checkout.is_not_a_date_time() || - *post.checkout > latest_checkout)) + *post.checkout > latest_checkout)) { latest_checkout = *post.checkout; + latest_checkout_cleared = post.state() == item_t::CLEARED; + } if (post.state() == item_t::CLEARED) { posts_cleared_count++; |