summaryrefslogtreecommitdiff
path: root/src/textual.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-02-27 02:35:51 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-02-27 02:35:51 -0400
commit06365aac05bb77deb7ef2e6f82d7b6806ee77f92 (patch)
treea213e1f2fd199fe6e7f26549074920757fd17d6f /src/textual.cc
parentfbb0d2583173073e11976c7cd7e570d4829f0621 (diff)
downloadledger-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.cc14
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;