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);
|
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
|
} // namespace ledger
|
||||||
|
|
|
||||||
|
|
@ -598,6 +598,8 @@ public:
|
||||||
|
|
||||||
commodity_t * find_or_create(commodity_t& comm,
|
commodity_t * find_or_create(commodity_t& comm,
|
||||||
const annotation_t& details);
|
const annotation_t& details);
|
||||||
|
|
||||||
|
void parse_commodity_price(const char * optarg);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ledger
|
} // namespace ledger
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue