summaryrefslogtreecommitdiffstats
path: root/mfbt/decimal/zero-serialization.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mfbt/decimal/zero-serialization.patch')
-rw-r--r--mfbt/decimal/zero-serialization.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/mfbt/decimal/zero-serialization.patch b/mfbt/decimal/zero-serialization.patch
new file mode 100644
index 000000000..bafa35956
--- /dev/null
+++ b/mfbt/decimal/zero-serialization.patch
@@ -0,0 +1,22 @@
+diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
+--- a/mfbt/decimal/Decimal.cpp
++++ b/mfbt/decimal/Decimal.cpp
+@@ -277,17 +277,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)
+ {
+ }
+