Fix G*_TO_POINTER casts on 32 bits
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 6 Oct 2011 14:18:03 +0000 (11:18 -0300)
committerColin Walters <walters@verbum.org>
Wed, 16 Nov 2011 15:47:21 +0000 (10:47 -0500)
If we don't do the cast to the proper size in 32 bits, things like below
doesn't work:

uint8_t u = 20;
void *p;

p = GUINT_TO_POINTER(u);

Signed-off-by: Colin Walters <walters@verbum.org>
https://bugzilla.gnome.org/show_bug.cgi?id=661546

configure.ac

index 847c4f0..eb731d3 100644 (file)
@@ -3358,8 +3358,8 @@ $ac_cv_sizeof_int)
   gintptr_modifier='""'
   gintptr_format='"i"'
   guintptr_format='"u"'
-  glib_gpi_cast=''
-  glib_gpui_cast=''
+  glib_gpi_cast='gint'
+  glib_gpui_cast='guint'
   ;;
 $ac_cv_sizeof_long)
   glib_intptr_type_define=long