Commit 603121c05024aa0b9326bd07eda007da53fcbba4

Hin-Tak Leung 2017-05-12T07:52:36

Fix `FT_UINT_TO_POINTER' macro for Windows. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]: Fix definition.

diff --git a/ChangeLog b/ChangeLog
index ba1a9fc..708b7c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-05-12  Hin-Tak Leung  <htl10@users.sourceforge.net>
+
+	Fix `FT_UINT_TO_POINTER' macro for Windows.
+
+	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+	include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]:
+	Fix definition.
+
 2017-05-11  Sascha Brawer  <sascha@google.com>
 	    Werner Lemberg  <wl@gnu.org
 
diff --git a/builds/unix/ftconfig.in b/builds/unix/ftconfig.in
index b0ef313..abd101d 100644
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -368,7 +368,7 @@ FT_BEGIN_HEADER
 #ifdef _WIN64
   /* only 64bit Windows uses the LLP64 data model, i.e., */
   /* 32bit integers, 64bit pointers                      */
-#define FT_UINT_TO_POINTER( x ) (void*)(FT_UInt64)(x)
+#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
 #else
 #define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
 #endif
diff --git a/builds/vms/ftconfig.h b/builds/vms/ftconfig.h
index 8fbb0f4..f8ac2ec 100644
--- a/builds/vms/ftconfig.h
+++ b/builds/vms/ftconfig.h
@@ -309,7 +309,7 @@ FT_BEGIN_HEADER
 #ifdef _WIN64
   /* only 64bit Windows uses the LLP64 data model, i.e., */
   /* 32bit integers, 64bit pointers                      */
-#define FT_UINT_TO_POINTER( x ) (void*)(FT_UInt64)(x)
+#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
 #else
 #define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
 #endif
diff --git a/include/freetype/config/ftconfig.h b/include/freetype/config/ftconfig.h
index 0a1e4db..889aebf 100644
--- a/include/freetype/config/ftconfig.h
+++ b/include/freetype/config/ftconfig.h
@@ -336,7 +336,7 @@ FT_BEGIN_HEADER
 #ifdef _WIN64
   /* only 64bit Windows uses the LLP64 data model, i.e., */
   /* 32bit integers, 64bit pointers                      */
-#define FT_UINT_TO_POINTER( x ) (void*)(FT_UInt64)(x)
+#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
 #else
 #define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
 #endif