aboutsummaryrefslogtreecommitdiff
path: root/ports/draco/fix-compile-error-uwp.patch
blob: 874ea743222333bbe344e74550096860ab6ff517 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/src/draco/core/symbol_coding_utils.h b/src/draco/core/symbol_coding_utils.h
index be2183d..eaaca00 100644
--- a/src/draco/core/symbol_coding_utils.h
+++ b/src/draco/core/symbol_coding_utils.h
@@ -41,7 +41,9 @@ typename std::make_unsigned<IntTypeT>::type ConvertSignedIntToSymbol(
   if (val >= 0) {
     return static_cast<UnsignedType>(val) << 1;
   }
-  val = -(val + 1);  // Map -1 to 0, -2 to -1, etc..
+  // Map -1 to 0, -2 to -1, etc..
+  val += 1;
+  val *= -1;
   UnsignedType ret = static_cast<UnsignedType>(val);
   ret <<= 1;
   ret |= 1;
diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc
index 1aa52cc..cfbbdbd 100644
--- a/src/draco/io/parser_utils.cc
+++ b/src/draco/io/parser_utils.cc
@@ -150,7 +150,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) {
   uint32_t v;
   if (!ParseUnsignedInt(buffer, &v))
     return false;
-  *value = (sign < 0) ? -v : v;
+  if (sign < 0)
+    v *= -1;
+  *value = v;
   return true;
 }