If AMOUNT_PARSE_NO_MIGRATE is set, do not set a commodity's precision even if
this is the first time a commodity is being seen. The reason is that it's quite possible (especially in bug reports) for the cost of a priced transaction to contain the first occurrence of a commodity.
This commit is contained in:
parent
c673b96691
commit
6cb519231f
1 changed files with 3 additions and 4 deletions
|
|
@ -1170,14 +1170,13 @@ void amount_t::parse(std::istream& in, unsigned char flags)
|
|||
|
||||
// Set the commodity's flags and precision accordingly
|
||||
|
||||
if (newly_created || ! (flags & AMOUNT_PARSE_NO_MIGRATE)) {
|
||||
if (! (flags & AMOUNT_PARSE_NO_MIGRATE)) {
|
||||
commodity().add_flags(comm_flags);
|
||||
if (quantity->prec > commodity().precision())
|
||||
commodity().set_precision(quantity->prec);
|
||||
}
|
||||
|
||||
if (flags & AMOUNT_PARSE_NO_MIGRATE)
|
||||
} else {
|
||||
quantity->flags |= BIGINT_KEEP_PREC;
|
||||
}
|
||||
|
||||
// Now we have the final number. Remove commas and periods, if
|
||||
// necessary.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue