Moved parse_commodity_price into commodity_pool_t.

This commit is contained in:
John Wiegley 2009-02-07 21:55:38 -04:00
parent fb5fc0e3f9
commit 591ebbf1bd
2 changed files with 19 additions and 0 deletions

View file

@ -988,4 +988,21 @@ commodity_t * commodity_pool_t::find_or_create(commodity_t& comm,
return create(comm, details, name);
}
void commodity_pool_t::parse_commodity_price(const char * optarg)
{
char * equals = std::strchr(optarg, '=');
if (! equals)
return;
optarg = skip_ws(optarg);
while (equals > optarg && std::isspace(*(equals - 1)))
equals--;
std::string symbol(optarg, 0, equals - optarg);
amount_t price(equals + 1);
if (commodity_t * commodity = commodity_t::find_or_create(symbol))
commodity->add_price(datetime_t::now, price);
}
} // namespace ledger

View file

@ -598,6 +598,8 @@ public:
commodity_t * find_or_create(commodity_t& comm,
const annotation_t& details);
void parse_commodity_price(const char * optarg);
};
} // namespace ledger