From ae8ab8106218167036ef386159450b56c328f1b9 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 7 Jun 2010 08:25:05 -0400 Subject: Compute a posting's cost from an annotated price --- src/textual.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/textual.cc') diff --git a/src/textual.cc b/src/textual.cc index 85b1a14b..9f293f29 100644 --- a/src/textual.cc +++ b/src/textual.cc @@ -1065,6 +1065,15 @@ post_t * instance_t::parse_post(char * line, } } } + else if (post->amount.annotation().price) { + post->cost = *post->amount.annotation().price * post->amount; + post->add_flags(POST_COST_CALCULATED); + DEBUG("textual.parse", "line " << linenum << ": " + << "cost (based on price annotation) = " + << post->amount.unrounded() << " * " + << post->amount.annotation().price->unrounded() + << " = " << post->cost->unrounded()); + } } DEBUG("textual.parse", "line " << linenum << ": " @@ -1095,6 +1104,7 @@ post_t * instance_t::parse_post(char * line, p = skip_ws(next); if (*p) { post->cost = amount_t(); + post->drop_flags(POST_COST_CALCULATED); beg = p - line; ptristream cstream(p, len - beg); -- cgit v1.2.3