summaryrefslogtreecommitdiff
path: root/src/value.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.cc')
-rw-r--r--src/value.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/value.cc b/src/value.cc
index 98e48c2f..4ea7c7a8 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003-2013, John Wiegley. All rights reserved.
+ * Copyright (c) 2003-2015, John Wiegley. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -341,6 +341,10 @@ value_t& value_t::operator+=(const value_t& val)
}
switch (type()) {
+ case VOID:
+ *this = value_t(val);
+ return *this;
+
case DATETIME:
switch (val.type()) {
case INTEGER:
@@ -870,6 +874,8 @@ bool value_t::is_less_than(const value_t& val) const
return as_long() < val.as_long();
case AMOUNT:
return val.as_amount() > as_long();
+ case BALANCE:
+ return val.to_amount() > as_long();
default:
break;
}
@@ -886,6 +892,8 @@ bool value_t::is_less_than(const value_t& val) const
return as_amount() < val.as_amount();
else
return commodity_t::compare_by_commodity()(&as_amount(), &val.as_amount());
+ case BALANCE:
+ return val.to_amount() > as_amount();
default:
break;
}
@@ -904,6 +912,8 @@ bool value_t::is_less_than(const value_t& val) const
}
return ! no_amounts;
}
+ case BALANCE:
+ return val.to_amount() > to_amount();
default:
break;
}
@@ -990,6 +1000,8 @@ bool value_t::is_greater_than(const value_t& val) const
return as_long() > val.as_long();
case AMOUNT:
return val.as_amount() < as_long();
+ case BALANCE:
+ return val.to_amount() < as_long();
default:
break;
}
@@ -1001,6 +1013,8 @@ bool value_t::is_greater_than(const value_t& val) const
return as_amount() > val.as_long();
case AMOUNT:
return as_amount() > val.as_amount();
+ case BALANCE:
+ return val.to_amount() < as_amount();
default:
break;
}
@@ -1019,6 +1033,8 @@ bool value_t::is_greater_than(const value_t& val) const
}
return ! no_amounts;
}
+ case BALANCE:
+ return val.to_amount() < to_amount();
default:
break;
}