Define data types to the correct size on 64-bit platforms.
diff --git a/include/basetsd.h b/include/basetsd.h
index d9db9b8..26b4436 100644
--- a/include/basetsd.h
+++ b/include/basetsd.h
@@ -38,6 +38,10 @@
* type model where int and long are 32 bit and pointer is 64-bit.
*/
+#ifdef __x86_64__
+#define _WIN64
+#endif
+
/* Type model independent typedefs */
/* The __intXX types are native types defined by the MS C compiler.
* Apps that make use of them before they get defined here, can
@@ -55,7 +59,11 @@
# define __int32 int
# endif
# ifndef __int64
-# define __int64 long long
+# ifdef _WIN64
+# define __int64 long
+# else
+# define __int64 long long
+# endif
# endif
#endif /* !defined(_MSC_VER) */