Commit 49079ce297c1698139456d0d3664bf32674d0ee5

Werner Lemberg 2019-05-29T08:08:53

[truetype] Fix 32bit builds (#56404). Patch suggested by Ben Wagner <bungeman@google.com>. * src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove harmful cast to unsigned type.

diff --git a/ChangeLog b/ChangeLog
index 5b6b559..3007333 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-05-29  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix 32bit builds (#56404).
+
+	Patch suggested by Ben Wagner <bungeman@google.com>.
+
+	* src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove
+	harmful cast to unsigned type.
+
 2019-05-26  Ben Wagner  <bungeman@google.com>
 
 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Improve accuracy.
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 33aec98..78d87dc 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -72,12 +72,12 @@
           ( (FT_Fixed)( (FT_ULong)(x) << 2 ) )
 #define FT_intToFixed( i )                      \
           ( (FT_Fixed)( (FT_ULong)(i) << 16 ) )
-#define FT_fdot6ToFixed( i )                      \
+#define FT_fdot6ToFixed( i )                    \
           ( (FT_Fixed)( (FT_ULong)(i) << 10 ) )
-#define FT_fixedToInt( x )                                    \
-          ( (FT_Short)( ( (FT_ULong)(x) + 0x8000U ) >> 16 ) )
-#define FT_fixedToFdot6( x )                              \
-          ( (FT_Pos)( ( (FT_ULong)(x) + 0x200 ) >> 10 ) )
+#define FT_fixedToInt( x )                          \
+          ( (FT_Short)( ( (x) + 0x8000U ) >> 16 ) )
+#define FT_fixedToFdot6( x )                    \
+          ( (FT_Pos)( ( (x) + 0x200 ) >> 10 ) )
 
 
   /**************************************************************************