Moved parse_commodity_price into commodity_pool_t.
This commit is contained in:
parent
fb5fc0e3f9
commit
591ebbf1bd
2 changed files with 19 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue