summaryrefslogtreecommitdiff
path: root/src/textual.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/textual.cc')
-rw-r--r--src/textual.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/textual.cc b/src/textual.cc
index 85b1a14b..dba31323 100644
--- a/src/textual.cc
+++ b/src/textual.cc
@@ -1096,6 +1096,14 @@ post_t * instance_t::parse_post(char * line,
if (*p) {
post->cost = amount_t();
+ bool fixed_cost = false;
+ if (*p == '=') {
+ p++;
+ fixed_cost = true;
+ if (*p == '\0')
+ throw parse_error(_("Posting is missing a cost amount"));
+ }
+
beg = p - line;
ptristream cstream(p, len - beg);
@@ -1122,6 +1130,9 @@ post_t * instance_t::parse_post(char * line,
post->cost->in_place_negate();
}
+ if (fixed_cost)
+ post->add_flags(POST_COST_FIXATED);
+
DEBUG("textual.parse", "line " << linenum << ": "
<< "Total cost is " << *post->cost);
DEBUG("textual.parse", "line " << linenum << ": "