Ray Strode c99df8f34c ffi: Treat enums as 32 bit signed values to fix PPC64
To call a function dynamically using ffi, the caller
first has to tell ffi the size of all the input arguments
of the function. On little endian architectures (like x86_64)
specifying a size that's too large will happen to work because
of how the bits are laid out in memory.  On big endian architectures,
however, specifying the wrong size can lead to reading the wrong
bits.

The function g_type_info_get_ffi_type maps input giargument types to
specific sizes. It was assuming enums were word (pointer) sized; in
fact they can be in theory any size (1,2,4,8 bytes), but in practice
in introspection (via GIArgument) as well as GValue we're limited to 4
byte enums.

This commit fixes PPC64 (big endian, 64 bit).

Signed-off-by: Colin Walters <walters@verbum.org>

https://bugzilla.gnome.org/show_bug.cgi?id=665150
2011-12-21 15:55:18 -05:00
2010-12-03 16:03:32 -05:00
2011-12-01 10:55:19 -05:00
2010-09-15 09:48:44 -03:00
2011-08-12 11:10:43 -04:00
2010-11-09 17:07:26 -05:00
2011-08-12 11:10:43 -04:00
2011-08-12 11:10:43 -04:00
2011-08-12 11:10:43 -04:00
2011-12-01 10:55:19 -05:00
2011-08-12 11:10:43 -04:00
Description
Low-level core library that forms the basis for projects such as GTK+ and GNOME.
130 MiB
Languages
C 95.3%
Python 2.4%
Meson 1.3%
Objective-C 0.3%
Shell 0.2%
Other 0.5%