diff options
author | Iain Nicol <iain@thenicols.net> | 2009-11-23 18:52:40 +0000 |
---|---|---|
committer | Johan Dahlin <johan@gnome.org> | 2009-12-02 10:45:20 -0200 |
commit | ad0aeac620eea48fbdfbf3441ffbc0dba6dbc699 (patch) | |
tree | a6648638164b695ec1bfc9203d34c4d21cdb7f3c /girepository/girffi.c | |
parent | 7b52d73bf77f54ff22e7c7e689a53cd9b724efbd (diff) | |
download | gobject-introspection-ad0aeac620eea48fbdfbf3441ffbc0dba6dbc699.tar.gz |
Remove some unportable integral type size assumptions
https://bugzilla.gnome.org/show_bug.cgi?id=602762
Diffstat (limited to 'girepository/girffi.c')
-rw-r--r-- | girepository/girffi.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/girepository/girffi.c b/girepository/girffi.c index d7c52f69..d67cbf65 100644 --- a/girepository/girffi.c +++ b/girepository/girffi.c @@ -152,20 +152,28 @@ g_ir_ffi_convert_arguments(GICallableInfo *callable_info, void **args) g_args[i].v_uint32 = *(guint32 *) args[i]; break; case GI_TYPE_TAG_LONG: + g_args[i].v_long = *(glong *) args[i]; + break; case GI_TYPE_TAG_INT64: - g_args[i].v_int64 = *(glong *) args[i]; + g_args[i].v_int64 = *(gint64 *) args[i]; break; case GI_TYPE_TAG_ULONG: + g_args[i].v_ulong = *(gulong *) args[i]; + break; case GI_TYPE_TAG_UINT64: - g_args[i].v_uint64 = *(glong *) args[i]; + g_args[i].v_uint64 = *(guint64 *) args[i]; break; case GI_TYPE_TAG_INT: + g_args[i].v_int = *(gint *) args[i]; + break; case GI_TYPE_TAG_SSIZE: + g_args[i].v_ssize = *(gssize *) args[i]; + break; case GI_TYPE_TAG_SIZE: - g_args[i].v_int32 = *(gint *) args[i]; + g_args[i].v_size = *(gsize *) args[i]; break; case GI_TYPE_TAG_UINT: - g_args[i].v_uint32 = *(guint *) args[i]; + g_args[i].v_uint = *(guint *) args[i]; break; case GI_TYPE_TAG_FLOAT: g_args[i].v_float = *(gfloat *) args[i]; |