X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=types%2Fvariant.c;h=f660e18bfc33605f4c3af1463f20fee828f17752;hb=f3985ab106d89d8e764c1a8dd0c8bda09b755d10;hp=3972d787275fc47298319be6d290855045da00ae;hpb=a88cb1c73648836f6d88e4d7cc5c100648414bc7;p=babeltrace.git diff --git a/types/variant.c b/types/variant.c index 3972d787..f660e18b 100644 --- a/types/variant.c +++ b/types/variant.c @@ -227,8 +227,8 @@ void bt_untagged_variant_declaration_add_field(struct declaration_untagged_varia field->declaration = field_declaration; /* Keep index in hash rather than pointer, because array can relocate */ g_hash_table_insert(untagged_variant_declaration->fields_by_tag, - (gpointer) (unsigned long) field->name, - (gpointer) index); + GUINT_TO_POINTER(field->name), + GUINT_TO_POINTER(index)); /* * Alignment of variant is based on the alignment of its currently * selected choice, so we leave variant alignment as-is (statically @@ -244,13 +244,13 @@ bt_untagged_variant_declaration_get_field_from_tag(struct declaration_untagged_v found = g_hash_table_lookup_extended( untagged_variant_declaration->fields_by_tag, - (gconstpointer) (unsigned long) tag, NULL, &index); + (gconstpointer) GUINT_TO_POINTER(tag), NULL, &index); if (!found) { return NULL; } - return &g_array_index(untagged_variant_declaration->fields, struct declaration_field, (unsigned long)index); + return &g_array_index(untagged_variant_declaration->fields, struct declaration_field, GPOINTER_TO_UINT(index)); } /* @@ -279,7 +279,7 @@ struct bt_definition *bt_variant_get_current_field(struct definition_variant *va assert(tag_array->len == 1); tag = g_array_index(tag_array, GQuark, 0); if (!g_hash_table_lookup_extended(variant_declaration->untagged_variant->fields_by_tag, - (gconstpointer) (unsigned long) tag, + (gconstpointer) GUINT_TO_POINTER(tag), &orig_key, &value)) { /* Cannot find matching field. */ @@ -287,7 +287,7 @@ struct bt_definition *bt_variant_get_current_field(struct definition_variant *va g_quark_to_string(tag)); return NULL; } - index = (unsigned long) value; + index = GPOINTER_TO_UINT(value); variant->current_field = g_ptr_array_index(variant->fields, index); return variant->current_field; }