summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2004-08-09 16:30:00 -0400
committerJohn Wiegley <johnw@newartisans.com>2004-08-09 16:30:00 -0400
commit2dc822291f3ecef34eb0ef2920c395b0e056fbda (patch)
tree23cfa31eecb31fe01eea410471f2dc53d4dac140
parent59c0692233812eeba568dac735d7b4d4576cf30a (diff)
downloadfork-ledger-2dc822291f3ecef34eb0ef2920c395b0e056fbda.tar.gz
fork-ledger-2dc822291f3ecef34eb0ef2920c395b0e056fbda.tar.bz2
fork-ledger-2dc822291f3ecef34eb0ef2920c395b0e056fbda.zip
fixed < bug
-rw-r--r--balance.h6
-rw-r--r--valexpr.cc2
2 files changed, 8 insertions, 0 deletions
diff --git a/balance.h b/balance.h
index a41bcf6f..7fd3a770 100644
--- a/balance.h
+++ b/balance.h
@@ -217,6 +217,9 @@ class balance_t
if (! ((*i).second < bal.amount((*i).first)))
return false;
+ if (bal.amounts.size() == 0 && amounts.size() == 0)
+ return false;
+
return true;
}
bool operator<=(const balance_t& bal) const {
@@ -254,6 +257,9 @@ class balance_t
if (! ((*i).second > bal.amount((*i).first)))
return false;
+ if (bal.amounts.size() == 0 && amounts.size() == 0)
+ return false;
+
return true;
}
bool operator>=(const balance_t& bal) const {
diff --git a/valexpr.cc b/valexpr.cc
index 2889c602..6a3ccde7 100644
--- a/valexpr.cc
+++ b/valexpr.cc
@@ -269,6 +269,7 @@ void node_t::compute(balance_t& result, const details_t& details) const
assert(right);
left->compute(result, details);
balance_t temp = result;
+ result = 0;
right->compute(result, details);
switch (type) {
case O_EQ: result = temp == result; break;
@@ -289,6 +290,7 @@ void node_t::compute(balance_t& result, const details_t& details) const
assert(right);
right->compute(result, details);
balance_t temp = result;
+ result = 0;
left->compute(result, details);
switch (type) {
case O_ADD: result += temp; break;