From 685b12d8d3d225498f6dfdbe7b17056684cc2ca8 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Thu, 10 Jun 2010 12:29:58 -0400 Subject: Allow fixated costs, as well as prices You can now establish a fixated price automatically by way of a fixated cost. The syntax for this is: 2009/11/01 Sample Assets 1 apple @ =$0.10 Equity --- src/textual.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/textual.cc') 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 << ": " -- cgit v1.2.3