r300g: typecast void* to unsigned correctly
authorMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 22:36:48 +0000 (23:36 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sat, 12 Feb 2011 22:36:48 +0000 (23:36 +0100)
src/gallium/winsys/radeon/drm/radeon_drm_bo.c

index 47d4f4d78466bba7c6478df5a5d7c11b79e94973..26930438767b4ac8fd54c5fe4c872445c1756adc 100644 (file)
@@ -314,14 +314,16 @@ static void radeon_bomgr_destroy(struct pb_manager *_mgr)
     FREE(mgr);
 }
 
+#define PTR_TO_UINT(x) ((unsigned)((intptr_t)(x) & 0xffffffff))
+
 static unsigned handle_hash(void *key)
 {
-    return (unsigned)key;
+    return PTR_TO_UINT(key);
 }
 
 static int handle_compare(void *key1, void *key2)
 {
-    return !((int)key1 == (int)key2);
+    return PTR_TO_UINT(key1) == PTR_TO_UINT(key2);
 }
 
 struct pb_manager *radeon_bomgr_create(struct radeon_drm_winsys *rws)