diff options
author | John Wiegley <johnw@newartisans.com> | 2009-02-27 02:35:51 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-02-27 02:35:51 -0400 |
commit | 06365aac05bb77deb7ef2e6f82d7b6806ee77f92 (patch) | |
tree | a213e1f2fd199fe6e7f26549074920757fd17d6f /src/textual.cc | |
parent | fbb0d2583173073e11976c7cd7e570d4829f0621 (diff) | |
download | ledger-06365aac05bb77deb7ef2e6f82d7b6806ee77f92.tar.gz ledger-06365aac05bb77deb7ef2e6f82d7b6806ee77f92.tar.bz2 ledger-06365aac05bb77deb7ef2e6f82d7b6806ee77f92.zip |
Fixed the way item state is parsed and managed
Diffstat (limited to 'src/textual.cc')
-rw-r--r-- | src/textual.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/textual.cc b/src/textual.cc index c971006f..bc221671 100644 --- a/src/textual.cc +++ b/src/textual.cc @@ -1220,6 +1220,20 @@ xact_t * instance_t::parse_xact(char * line, } } + if (xact->_state == item_t::UNCLEARED) { + item_t::state_t result = item_t::CLEARED; + + foreach (post_t * post, xact->posts) { + if (post->_state == item_t::UNCLEARED) { + result = item_t::UNCLEARED; + break; + } + else if (post->_state == item_t::PENDING) { + result = item_t::PENDING; + } + } + } + xact->end_pos = curr_pos; xact->end_line = linenum; |