summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/account.cc2
-rw-r--r--src/expr.h6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/account.cc b/src/account.cc
index 376097f2..fd1bf2e5 100644
--- a/src/account.cc
+++ b/src/account.cc
@@ -262,7 +262,9 @@ void account_t::calculate_sums(expr_t& amount_expr,
bind_scope_t bound_scope(scope, *this);
call_scope_t args(bound_scope);
+
value_t amount(amount_expr.calc(args));
+
if (! amount.is_null()) {
add_or_set_value(xd.total, amount);
xd.total_count += xd.count;
diff --git a/src/expr.h b/src/expr.h
index 8104be35..d5ff276e 100644
--- a/src/expr.h
+++ b/src/expr.h
@@ -128,13 +128,13 @@ public:
bool is_constant() const;
bool is_function() const;
- value_t& constant_value();
+ value_t& constant_value();
const value_t& constant_value() const;
function_t& get_function();
- void print(std::ostream& out) const;
- void dump(std::ostream& out) const;
+ void print(std::ostream& out) const;
+ void dump(std::ostream& out) const;
static value_t eval(const string& _expr, scope_t& scope);
};