The "format" directive for commodities now disables "style observation"
This commit is contained in:
parent
a44947b870
commit
e3bcb8e87e
3 changed files with 5 additions and 1 deletions
|
|
@ -1090,6 +1090,8 @@ bool amount_t::parse(std::istream& in, const parse_flags_t& flags)
|
|||
|
||||
bool no_more_commas = false;
|
||||
bool no_more_periods = false;
|
||||
bool no_migrate_style
|
||||
= commodity().has_flags(COMMODITY_STYLE_NO_MIGRATE);
|
||||
bool decimal_comma_style
|
||||
= (commodity_t::decimal_comma_by_default ||
|
||||
commodity().has_flags(COMMODITY_STYLE_DECIMAL_COMMA));
|
||||
|
|
@ -1173,7 +1175,7 @@ bool amount_t::parse(std::istream& in, const parse_flags_t& flags)
|
|||
// is non-NULL.
|
||||
new_quantity->add_flags(BIGINT_KEEP_PREC);
|
||||
}
|
||||
else if (commodity_) {
|
||||
else if (commodity_ && ! no_migrate_style) {
|
||||
commodity().add_flags(comm_flags);
|
||||
|
||||
if (new_quantity->prec > commodity().precision())
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ protected:
|
|||
#define COMMODITY_SAW_ANN_PRICE_FLOAT 0x400
|
||||
#define COMMODITY_SAW_ANN_PRICE_FIXATED 0x800
|
||||
#define COMMODITY_STYLE_TIME_COLON 0x1000
|
||||
#define COMMODITY_STYLE_NO_MIGRATE 0x2000
|
||||
|
||||
string symbol;
|
||||
optional<std::size_t> graph_index;
|
||||
|
|
|
|||
|
|
@ -1128,6 +1128,7 @@ void instance_t::commodity_format_directive(commodity_t&, string format)
|
|||
trim(format);
|
||||
amount_t amt;
|
||||
amt.parse(format);
|
||||
amt.commodity().add_flags(COMMODITY_STYLE_NO_MIGRATE);
|
||||
VERIFY(amt.valid());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue