blob: b058e0967ccef9fd98a61840eaae361122bc0efc [file] [log] [blame]
diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
--- a/mfbt/decimal/Decimal.cpp
+++ b/mfbt/decimal/Decimal.cpp
@@ -278,17 +278,17 @@ bool Decimal::EncodedData::operator==(co
}
Decimal::Decimal(int32_t i32)
: m_data(i32 < 0 ? Negative : Positive, 0, i32 < 0 ? static_cast<uint64_t>(-static_cast<int64_t>(i32)) : static_cast<uint64_t>(i32))
{
}
Decimal::Decimal(Sign sign, int exponent, uint64_t coefficient)
- : m_data(sign, exponent, coefficient)
+ : m_data(sign, coefficient ? exponent : 0, coefficient)
{
}
Decimal::Decimal(const EncodedData& data)
: m_data(data)
{
}