fixed some more compiler warnings
[rocksndiamonds.git] / src / libgame / types.h
index f7d8ad462e42b5ce198adfb7c529145d56887820..7dc2a7d4a2d1b7f3b666b37d4916ed17e428544f 100644 (file)
@@ -76,12 +76,24 @@ typedef unsigned char byte;
 
 #define ARRAY_SIZE(array)      (sizeof(array) / sizeof(array[0]))
 
+#if defined(__x86_64__)
+
+#define PTR_TO_INT(p)          ((int) (long long) (p))
+#define PTR_TO_UINT(p)         ((unsigned int) (unsigned long long) (p))
+
+#define INT_TO_PTR(i)          ((void *) (long long) (i))
+#define UINT_TO_PTR(u)         ((void *) (unsigned long long) (u))
+
+#else
+
 #define PTR_TO_INT(p)          ((int) (long) (p))
 #define PTR_TO_UINT(p)         ((unsigned int) (unsigned long) (p))
 
 #define INT_TO_PTR(i)          ((void *) (long) (i))
 #define UINT_TO_PTR(u)         ((void *) (unsigned long) (u))
 
+#endif
+
 #define STRUCT_OFFSET(s, m)    (offsetof(s, m))