don't do arithmetic on void *
authorcaro <caro>
Thu, 20 Aug 2009 11:56:57 +0000 (11:56 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 20 Aug 2009 11:56:57 +0000 (11:56 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@41885 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/mp/fixed_bitmap/eina_fixed_bitmap.c

index bfafc84..a16b7eb 100644 (file)
@@ -65,7 +65,7 @@ _eina_rbtree_inlist_delta(void)
    void *a = &tmp.__rbtree;
    void *b = &tmp.__in_list;
 
-   return a - b;
+   return (char *)a - (char *)b;
 }
 
 static Eina_Rbtree_Direction
@@ -85,7 +85,7 @@ _eina_fixed_cmp_key(const Eina_Rbtree *node, const void *key, __UNUSED__ int len
    int limit;
 
    limit = sizeof (Eina_Fixed_Bitmap_Pool) + mp->item_size * 32;
-   delta = a - b;
+   delta = (char *)a - (char *)b;
 
    if (delta > 0)
      return 1;
@@ -157,7 +157,7 @@ eina_fixed_bitmap_free(void *data, void *ptr)
    if (pool->bitmask != 0xFFFFFFFF) push_front = EINA_TRUE;
 
    a = pool;
-   delta = (ptr - a - sizeof (Eina_Fixed_Bitmap_Pool)) / mp->item_size;
+   delta = ((char *)ptr - (char *)a - sizeof (Eina_Fixed_Bitmap_Pool)) / mp->item_size;
 
    assert(delta >= 0 && delta < 32);