diff --git a/girepository/gdump.c b/girepository/gdump.c index 78f4c3cd3..d7ec6b62f 100644 --- a/girepository/gdump.c +++ b/girepository/gdump.c @@ -143,9 +143,9 @@ invoke_get_type (GModule *self, const char *symbol, GError **error) if (!g_module_symbol (self, symbol, (void**)&sym)) { g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - "Failed to find symbol '%s'", symbol); + G_FILE_ERROR, + G_FILE_ERROR_FAILED, + "Failed to find symbol '%s'", symbol); return G_TYPE_INVALID; } @@ -153,9 +153,9 @@ invoke_get_type (GModule *self, const char *symbol, GError **error) if (ret == G_TYPE_INVALID) { g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - "Function '%s' returned G_TYPE_INVALID", symbol); + G_FILE_ERROR, + G_FILE_ERROR_FAILED, + "Function '%s' returned G_TYPE_INVALID", symbol); } return ret; } @@ -168,9 +168,9 @@ invoke_error_quark (GModule *self, const char *symbol, GError **error) if (!g_module_symbol (self, symbol, (void**)&sym)) { g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - "Failed to find symbol '%s'", symbol); + G_FILE_ERROR, + G_FILE_ERROR_FAILED, + "Failed to find symbol '%s'", symbol); return G_TYPE_INVALID; } @@ -273,7 +273,7 @@ dump_properties (GType type, FILE *out) prop = props[i]; if (prop->owner_type != type) - continue; + continue; const GValue *v = g_param_spec_get_default_value (prop); char *default_value = value_to_string (v); @@ -318,7 +318,7 @@ dump_signals (GType type, FILE *out) g_signal_query (sigid, &query); escaped_printf (out, " \n"); for (j = 0; j < query.n_params; j++) - { - escaped_printf (out, " \n", - g_type_name (query.param_types[j])); - } + { + escaped_printf (out, " \n", + g_type_name (query.param_types[j])); + } goutput_write (out, " \n"); } g_free (sig_ids); @@ -360,7 +360,7 @@ dump_object_type (GType type, const char *symbol, FILE *out) GType *interfaces; escaped_printf (out, " \n", - g_type_name (itype)); + g_type_name (itype)); } g_free (interfaces); @@ -414,23 +414,23 @@ dump_interface_type (GType type, const char *symbol, FILE *out) GType *interfaces; escaped_printf (out, " \n", - g_type_name (type), symbol); + g_type_name (type), symbol); interfaces = g_type_interface_prerequisites (type, &n_interfaces); for (i = 0; i < n_interfaces; i++) { GType itype = interfaces[i]; if (itype == G_TYPE_OBJECT) - { - /* Treat this as implicit for now; in theory GInterfaces are - * supported on things like GstMiniObject, but right now - * the introspection system only supports GObject. - * http://bugzilla.gnome.org/show_bug.cgi?id=559706 - */ - continue; - } + { + /* Treat this as implicit for now; in theory GInterfaces are + * supported on things like GstMiniObject, but right now + * the introspection system only supports GObject. + * http://bugzilla.gnome.org/show_bug.cgi?id=559706 + */ + continue; + } escaped_printf (out, " \n", - g_type_name (itype)); + g_type_name (itype)); } g_free (interfaces); @@ -443,7 +443,7 @@ static void dump_boxed_type (GType type, const char *symbol, FILE *out) { escaped_printf (out, " \n", - g_type_name (type), symbol); + g_type_name (type), symbol); } static void @@ -454,14 +454,14 @@ dump_flags_type (GType type, const char *symbol, FILE *out) klass = g_type_class_ref (type); escaped_printf (out, " \n", - g_type_name (type), symbol); + g_type_name (type), symbol); for (i = 0; i < klass->n_values; i++) { GFlagsValue *value = &(klass->values[i]); escaped_printf (out, " \n", - value->value_name, value->value_nick, value->value); + value->value_name, value->value_nick, value->value); } goutput_write (out, " \n"); } @@ -474,14 +474,14 @@ dump_enum_type (GType type, const char *symbol, FILE *out) klass = g_type_class_ref (type); escaped_printf (out, " \n", - g_type_name (type), symbol); + g_type_name (type), symbol); for (i = 0; i < klass->n_values; i++) { GEnumValue *value = &(klass->values[i]); escaped_printf (out, " \n", - value->value_name, value->value_nick, value->value); + value->value_name, value->value_nick, value->value); } goutput_write (out, " "); } @@ -498,7 +498,7 @@ dump_fundamental_type (GType type, const char *symbol, FILE *out) escaped_printf (out, " \n", - g_type_name (itype)); + g_type_name (itype)); } g_free (interfaces); goutput_write (out, " \n"); @@ -573,7 +573,7 @@ static void dump_error_quark (GQuark quark, const char *symbol, FILE *out) { escaped_printf (out, " \n", - symbol, g_quark_to_string (quark)); + symbol, g_quark_to_string (quark)); } /** @@ -622,10 +622,10 @@ gi_repository_dump (const char *input_filename, if (!self) { g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - "failed to open self: %s", - g_module_error ()); + G_FILE_ERROR, + G_FILE_ERROR_FAILED, + "failed to open self: %s", + g_module_error ()); return FALSE; } diff --git a/girepository/gi-dump-types.c b/girepository/gi-dump-types.c index 7e8f95e15..791fcf80a 100644 --- a/girepository/gi-dump-types.c +++ b/girepository/gi-dump-types.c @@ -41,12 +41,12 @@ main (int argc, type = invoke_get_type (self, argv[i], &error); if (!type) - { - g_printerr ("%s\n", error->message); - g_clear_error (&error); - } + { + g_printerr ("%s\n", error->message); + g_clear_error (&error); + } else - dump_type (type, argv[i], stdout); + dump_type (type, argv[i], stdout); } return 0; diff --git a/girepository/gibaseinfo.c b/girepository/gibaseinfo.c index 575d50035..6a2164f18 100644 --- a/girepository/gibaseinfo.c +++ b/girepository/gibaseinfo.c @@ -428,7 +428,7 @@ gi_info_from_entry (GIRepository *repository, unresolved->namespace = namespace; return (GIBaseInfo *)unresolved; - } + } return (GIBaseInfo *)result; } diff --git a/girepository/gibaseinfo.h b/girepository/gibaseinfo.h index fdbe91ff8..41f568b53 100644 --- a/girepository/gibaseinfo.h +++ b/girepository/gibaseinfo.h @@ -50,7 +50,7 @@ typedef struct { gpointer data4; } GIAttributeIter; -#define GI_TYPE_BASE_INFO (gi_base_info_get_type ()) +#define GI_TYPE_BASE_INFO (gi_base_info_get_type ()) GI_AVAILABLE_IN_ALL diff --git a/girepository/gicallableinfo.h b/girepository/gicallableinfo.h index 64e2a3875..e91aef003 100644 --- a/girepository/gicallableinfo.h +++ b/girepository/gicallableinfo.h @@ -40,7 +40,7 @@ G_BEGIN_DECLS * * Since: 2.80 */ -#define GI_IS_CALLABLE_INFO(info) \ +#define GI_IS_CALLABLE_INFO(info) \ ((gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_FUNCTION) || \ (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_CALLBACK) || \ (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_SIGNAL) || \ diff --git a/girepository/gicallbackinfo.h b/girepository/gicallbackinfo.h index 52fd36882..ee035f525 100644 --- a/girepository/gicallbackinfo.h +++ b/girepository/gicallbackinfo.h @@ -39,7 +39,7 @@ G_BEGIN_DECLS * * Since: 2.80 */ -#define GI_IS_CALLBACK_INFO(info) \ +#define GI_IS_CALLBACK_INFO(info) \ (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_CALLBACK) G_END_DECLS diff --git a/girepository/giconstantinfo.c b/girepository/giconstantinfo.c index 1383e73a5..dd9ed3849 100644 --- a/girepository/giconstantinfo.c +++ b/girepository/giconstantinfo.c @@ -135,49 +135,49 @@ gi_constant_info_get_value (GIConstantInfo *info, { gsize blob_size = blob->size; - value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size); + value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size); } else - { - switch (blob->type.flags.tag) - { - case GI_TYPE_TAG_BOOLEAN: - value->v_boolean = *(gboolean*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT8: - value->v_int8 = *(gint8*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT8: - value->v_uint8 = *(guint8*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT16: - value->v_int16 = *(gint16*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT16: - value->v_uint16 = *(guint16*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT32: - value->v_int32 = *(gint32*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT32: - value->v_uint32 = *(guint32*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT64: - DO_ALIGNED_COPY(&value->v_int64, &rinfo->typelib->data[blob->offset], gint64); - break; - case GI_TYPE_TAG_UINT64: - DO_ALIGNED_COPY(&value->v_uint64, &rinfo->typelib->data[blob->offset], guint64); - break; - case GI_TYPE_TAG_FLOAT: - DO_ALIGNED_COPY(&value->v_float, &rinfo->typelib->data[blob->offset], gfloat); - break; - case GI_TYPE_TAG_DOUBLE: - DO_ALIGNED_COPY(&value->v_double, &rinfo->typelib->data[blob->offset], gdouble); - break; - default: - g_assert_not_reached (); - } - } + { + switch (blob->type.flags.tag) + { + case GI_TYPE_TAG_BOOLEAN: + value->v_boolean = *(gboolean*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_INT8: + value->v_int8 = *(gint8*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_UINT8: + value->v_uint8 = *(guint8*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_INT16: + value->v_int16 = *(gint16*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_UINT16: + value->v_uint16 = *(guint16*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_INT32: + value->v_int32 = *(gint32*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_UINT32: + value->v_uint32 = *(guint32*)&rinfo->typelib->data[blob->offset]; + break; + case GI_TYPE_TAG_INT64: + DO_ALIGNED_COPY(&value->v_int64, &rinfo->typelib->data[blob->offset], gint64); + break; + case GI_TYPE_TAG_UINT64: + DO_ALIGNED_COPY(&value->v_uint64, &rinfo->typelib->data[blob->offset], guint64); + break; + case GI_TYPE_TAG_FLOAT: + DO_ALIGNED_COPY(&value->v_float, &rinfo->typelib->data[blob->offset], gfloat); + break; + case GI_TYPE_TAG_DOUBLE: + DO_ALIGNED_COPY(&value->v_double, &rinfo->typelib->data[blob->offset], gdouble); + break; + default: + g_assert_not_reached (); + } + } } return blob->size; diff --git a/girepository/gifieldinfo.c b/girepository/gifieldinfo.c index b7ed9f7a4..eb4d069ed 100644 --- a/girepository/gifieldinfo.c +++ b/girepository/gifieldinfo.c @@ -211,151 +211,151 @@ gi_field_info_get_field (GIFieldInfo *field_info, else { switch (gi_type_info_get_tag (type_info)) - { - case GI_TYPE_TAG_VOID: - g_warning("Field %s: should not be have void type", - gi_base_info_get_name ((GIBaseInfo *)field_info)); - break; - case GI_TYPE_TAG_BOOLEAN: - value->v_boolean = G_STRUCT_MEMBER (gboolean, mem, offset) != FALSE; - result = TRUE; - break; - case GI_TYPE_TAG_INT8: - case GI_TYPE_TAG_UINT8: - value->v_uint8 = G_STRUCT_MEMBER (guint8, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT16: - case GI_TYPE_TAG_UINT16: - value->v_uint16 = G_STRUCT_MEMBER (guint16, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT32: - case GI_TYPE_TAG_UINT32: - case GI_TYPE_TAG_UNICHAR: - value->v_uint32 = G_STRUCT_MEMBER (guint32, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT64: - case GI_TYPE_TAG_UINT64: - value->v_uint64 = G_STRUCT_MEMBER (guint64, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_GTYPE: - value->v_size = G_STRUCT_MEMBER (gsize, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_FLOAT: - value->v_float = G_STRUCT_MEMBER (gfloat, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_DOUBLE: - value->v_double = G_STRUCT_MEMBER (gdouble, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_ARRAY: - /* We don't check the array type and that it is fixed-size, - we trust g-ir-compiler to do the right thing */ - value->v_pointer = G_STRUCT_MEMBER_P (mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_UTF8: - case GI_TYPE_TAG_FILENAME: - case GI_TYPE_TAG_GLIST: - case GI_TYPE_TAG_GSLIST: - case GI_TYPE_TAG_GHASH: - g_warning("Field %s: type %s should have is_pointer set", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_type_tag_to_string (gi_type_info_get_tag (type_info))); - break; - case GI_TYPE_TAG_ERROR: - /* Needs to be handled by the language binding directly */ - break; - case GI_TYPE_TAG_INTERFACE: - { - GIBaseInfo *interface = gi_type_info_get_interface (type_info); - switch (gi_base_info_get_info_type (interface)) - { - case GI_INFO_TYPE_STRUCT: - case GI_INFO_TYPE_UNION: - case GI_INFO_TYPE_BOXED: - /* Needs to be handled by the language binding directly */ - break; - case GI_INFO_TYPE_OBJECT: - break; - case GI_INFO_TYPE_ENUM: - case GI_INFO_TYPE_FLAGS: - { - /* FIXME: there's a mismatch here between the value->v_int we use - * here and the gint64 result returned from gi_value_info_get_value(). - * But to switch this to gint64, we'd have to make gi_function_info_invoke() - * translate value->v_int64 to the proper ABI for an enum function - * call parameter, which will usually be int, and then fix up language - * bindings. - */ - GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface); - switch (storage_type) - { - case GI_TYPE_TAG_INT8: - case GI_TYPE_TAG_UINT8: - value->v_int = (gint)G_STRUCT_MEMBER (guint8, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT16: - case GI_TYPE_TAG_UINT16: - value->v_int = (gint)G_STRUCT_MEMBER (guint16, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT32: - case GI_TYPE_TAG_UINT32: - value->v_int = (gint)G_STRUCT_MEMBER (guint32, mem, offset); - result = TRUE; - break; - case GI_TYPE_TAG_INT64: - case GI_TYPE_TAG_UINT64: - value->v_int = (gint)G_STRUCT_MEMBER (guint64, mem, offset); - result = TRUE; - break; - default: - g_warning("Field %s: Unexpected enum storage type %s", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_type_tag_to_string (storage_type)); - break; - } - break; - } - case GI_INFO_TYPE_VFUNC: - case GI_INFO_TYPE_CALLBACK: - g_warning("Field %s: Interface type %d should have is_pointer set", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_base_info_get_info_type (interface)); - break; - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_INTERFACE: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: - case GI_INFO_TYPE_FIELD: - case GI_INFO_TYPE_ARG: - case GI_INFO_TYPE_TYPE: - case GI_INFO_TYPE_UNRESOLVED: - g_warning("Field %s: Interface type %d not expected", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_base_info_get_info_type (interface)); - break; - default: - break; - } + { + case GI_TYPE_TAG_VOID: + g_warning("Field %s: should not be have void type", + gi_base_info_get_name ((GIBaseInfo *)field_info)); + break; + case GI_TYPE_TAG_BOOLEAN: + value->v_boolean = G_STRUCT_MEMBER (gboolean, mem, offset) != FALSE; + result = TRUE; + break; + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + value->v_uint8 = G_STRUCT_MEMBER (guint8, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + value->v_uint16 = G_STRUCT_MEMBER (guint16, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + case GI_TYPE_TAG_UNICHAR: + value->v_uint32 = G_STRUCT_MEMBER (guint32, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + value->v_uint64 = G_STRUCT_MEMBER (guint64, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_GTYPE: + value->v_size = G_STRUCT_MEMBER (gsize, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_FLOAT: + value->v_float = G_STRUCT_MEMBER (gfloat, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_DOUBLE: + value->v_double = G_STRUCT_MEMBER (gdouble, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_ARRAY: + /* We don't check the array type and that it is fixed-size, + we trust g-ir-compiler to do the right thing */ + value->v_pointer = G_STRUCT_MEMBER_P (mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_UTF8: + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + g_warning("Field %s: type %s should have is_pointer set", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_type_tag_to_string (gi_type_info_get_tag (type_info))); + break; + case GI_TYPE_TAG_ERROR: + /* Needs to be handled by the language binding directly */ + break; + case GI_TYPE_TAG_INTERFACE: + { + GIBaseInfo *interface = gi_type_info_get_interface (type_info); + switch (gi_base_info_get_info_type (interface)) + { + case GI_INFO_TYPE_STRUCT: + case GI_INFO_TYPE_UNION: + case GI_INFO_TYPE_BOXED: + /* Needs to be handled by the language binding directly */ + break; + case GI_INFO_TYPE_OBJECT: + break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + { + /* FIXME: there's a mismatch here between the value->v_int we use + * here and the gint64 result returned from gi_value_info_get_value(). + * But to switch this to gint64, we'd have to make gi_function_info_invoke() + * translate value->v_int64 to the proper ABI for an enum function + * call parameter, which will usually be int, and then fix up language + * bindings. + */ + GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface); + switch (storage_type) + { + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + value->v_int = (gint)G_STRUCT_MEMBER (guint8, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + value->v_int = (gint)G_STRUCT_MEMBER (guint16, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + value->v_int = (gint)G_STRUCT_MEMBER (guint32, mem, offset); + result = TRUE; + break; + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + value->v_int = (gint)G_STRUCT_MEMBER (guint64, mem, offset); + result = TRUE; + break; + default: + g_warning("Field %s: Unexpected enum storage type %s", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_type_tag_to_string (storage_type)); + break; + } + break; + } + case GI_INFO_TYPE_VFUNC: + case GI_INFO_TYPE_CALLBACK: + g_warning("Field %s: Interface type %d should have is_pointer set", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_base_info_get_info_type (interface)); + break; + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_INTERFACE: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: + case GI_INFO_TYPE_FIELD: + case GI_INFO_TYPE_ARG: + case GI_INFO_TYPE_TYPE: + case GI_INFO_TYPE_UNRESOLVED: + g_warning("Field %s: Interface type %d not expected", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_base_info_get_info_type (interface)); + break; + default: + break; + } - gi_base_info_unref ((GIBaseInfo *)interface); - break; - } - break; - default: - break; - } + gi_base_info_unref ((GIBaseInfo *)interface); + break; + } + break; + default: + break; + } } gi_base_info_unref ((GIBaseInfo *)type_info); @@ -402,163 +402,163 @@ gi_field_info_set_field (GIFieldInfo *field_info, if (!gi_type_info_is_pointer (type_info)) { switch (gi_type_info_get_tag (type_info)) - { - case GI_TYPE_TAG_VOID: - g_warning("Field %s: should not be have void type", - gi_base_info_get_name ((GIBaseInfo *)field_info)); - break; - case GI_TYPE_TAG_BOOLEAN: - G_STRUCT_MEMBER (gboolean, mem, offset) = value->v_boolean != FALSE; - result = TRUE; - break; - case GI_TYPE_TAG_INT8: - case GI_TYPE_TAG_UINT8: - G_STRUCT_MEMBER (guint8, mem, offset) = value->v_uint8; - result = TRUE; - break; - case GI_TYPE_TAG_INT16: - case GI_TYPE_TAG_UINT16: - G_STRUCT_MEMBER (guint16, mem, offset) = value->v_uint16; - result = TRUE; - break; - case GI_TYPE_TAG_INT32: - case GI_TYPE_TAG_UINT32: - case GI_TYPE_TAG_UNICHAR: - G_STRUCT_MEMBER (guint32, mem, offset) = value->v_uint32; - result = TRUE; - break; - case GI_TYPE_TAG_INT64: - case GI_TYPE_TAG_UINT64: - G_STRUCT_MEMBER (guint64, mem, offset) = value->v_uint64; - result = TRUE; - break; - case GI_TYPE_TAG_GTYPE: - G_STRUCT_MEMBER (gsize, mem, offset) = value->v_size; - result = TRUE; - break; - case GI_TYPE_TAG_FLOAT: - G_STRUCT_MEMBER (gfloat, mem, offset) = value->v_float; - result = TRUE; - break; - case GI_TYPE_TAG_DOUBLE: - G_STRUCT_MEMBER (gdouble, mem, offset)= value->v_double; - result = TRUE; - break; - case GI_TYPE_TAG_UTF8: - case GI_TYPE_TAG_FILENAME: - case GI_TYPE_TAG_ARRAY: - case GI_TYPE_TAG_GLIST: - case GI_TYPE_TAG_GSLIST: - case GI_TYPE_TAG_GHASH: - g_warning("Field %s: type %s should have is_pointer set", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_type_tag_to_string (gi_type_info_get_tag (type_info))); - break; - case GI_TYPE_TAG_ERROR: - /* Needs to be handled by the language binding directly */ - break; - case GI_TYPE_TAG_INTERFACE: - { - GIBaseInfo *interface = gi_type_info_get_interface (type_info); - switch (gi_base_info_get_info_type (interface)) - { - case GI_INFO_TYPE_STRUCT: - case GI_INFO_TYPE_UNION: - case GI_INFO_TYPE_BOXED: - /* Needs to be handled by the language binding directly */ - break; - case GI_INFO_TYPE_OBJECT: - break; - case GI_INFO_TYPE_ENUM: - case GI_INFO_TYPE_FLAGS: - { - /* See FIXME above - */ - GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface); - switch (storage_type) - { - case GI_TYPE_TAG_INT8: - case GI_TYPE_TAG_UINT8: - G_STRUCT_MEMBER (guint8, mem, offset) = (guint8)value->v_int; - result = TRUE; - break; - case GI_TYPE_TAG_INT16: - case GI_TYPE_TAG_UINT16: - G_STRUCT_MEMBER (guint16, mem, offset) = (guint16)value->v_int; - result = TRUE; - break; - case GI_TYPE_TAG_INT32: - case GI_TYPE_TAG_UINT32: - G_STRUCT_MEMBER (guint32, mem, offset) = (guint32)value->v_int; - result = TRUE; - break; - case GI_TYPE_TAG_INT64: - case GI_TYPE_TAG_UINT64: - G_STRUCT_MEMBER (guint64, mem, offset) = (guint64)value->v_int; - result = TRUE; - break; - default: - g_warning("Field %s: Unexpected enum storage type %s", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_type_tag_to_string (storage_type)); - break; - } - break; - } - break; - case GI_INFO_TYPE_VFUNC: - case GI_INFO_TYPE_CALLBACK: - g_warning("Field%s: Interface type %d should have is_pointer set", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_base_info_get_info_type (interface)); - break; - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_INTERFACE: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: - case GI_INFO_TYPE_FIELD: - case GI_INFO_TYPE_ARG: - case GI_INFO_TYPE_TYPE: - case GI_INFO_TYPE_UNRESOLVED: - g_warning("Field %s: Interface type %d not expected", - gi_base_info_get_name ((GIBaseInfo *)field_info), - gi_base_info_get_info_type (interface)); - break; - default: - break; - } + { + case GI_TYPE_TAG_VOID: + g_warning("Field %s: should not be have void type", + gi_base_info_get_name ((GIBaseInfo *)field_info)); + break; + case GI_TYPE_TAG_BOOLEAN: + G_STRUCT_MEMBER (gboolean, mem, offset) = value->v_boolean != FALSE; + result = TRUE; + break; + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + G_STRUCT_MEMBER (guint8, mem, offset) = value->v_uint8; + result = TRUE; + break; + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + G_STRUCT_MEMBER (guint16, mem, offset) = value->v_uint16; + result = TRUE; + break; + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + case GI_TYPE_TAG_UNICHAR: + G_STRUCT_MEMBER (guint32, mem, offset) = value->v_uint32; + result = TRUE; + break; + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + G_STRUCT_MEMBER (guint64, mem, offset) = value->v_uint64; + result = TRUE; + break; + case GI_TYPE_TAG_GTYPE: + G_STRUCT_MEMBER (gsize, mem, offset) = value->v_size; + result = TRUE; + break; + case GI_TYPE_TAG_FLOAT: + G_STRUCT_MEMBER (gfloat, mem, offset) = value->v_float; + result = TRUE; + break; + case GI_TYPE_TAG_DOUBLE: + G_STRUCT_MEMBER (gdouble, mem, offset)= value->v_double; + result = TRUE; + break; + case GI_TYPE_TAG_UTF8: + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_ARRAY: + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + g_warning("Field %s: type %s should have is_pointer set", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_type_tag_to_string (gi_type_info_get_tag (type_info))); + break; + case GI_TYPE_TAG_ERROR: + /* Needs to be handled by the language binding directly */ + break; + case GI_TYPE_TAG_INTERFACE: + { + GIBaseInfo *interface = gi_type_info_get_interface (type_info); + switch (gi_base_info_get_info_type (interface)) + { + case GI_INFO_TYPE_STRUCT: + case GI_INFO_TYPE_UNION: + case GI_INFO_TYPE_BOXED: + /* Needs to be handled by the language binding directly */ + break; + case GI_INFO_TYPE_OBJECT: + break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + { + /* See FIXME above + */ + GITypeTag storage_type = gi_enum_info_get_storage_type ((GIEnumInfo *)interface); + switch (storage_type) + { + case GI_TYPE_TAG_INT8: + case GI_TYPE_TAG_UINT8: + G_STRUCT_MEMBER (guint8, mem, offset) = (guint8)value->v_int; + result = TRUE; + break; + case GI_TYPE_TAG_INT16: + case GI_TYPE_TAG_UINT16: + G_STRUCT_MEMBER (guint16, mem, offset) = (guint16)value->v_int; + result = TRUE; + break; + case GI_TYPE_TAG_INT32: + case GI_TYPE_TAG_UINT32: + G_STRUCT_MEMBER (guint32, mem, offset) = (guint32)value->v_int; + result = TRUE; + break; + case GI_TYPE_TAG_INT64: + case GI_TYPE_TAG_UINT64: + G_STRUCT_MEMBER (guint64, mem, offset) = (guint64)value->v_int; + result = TRUE; + break; + default: + g_warning("Field %s: Unexpected enum storage type %s", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_type_tag_to_string (storage_type)); + break; + } + break; + } + break; + case GI_INFO_TYPE_VFUNC: + case GI_INFO_TYPE_CALLBACK: + g_warning("Field%s: Interface type %d should have is_pointer set", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_base_info_get_info_type (interface)); + break; + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_INTERFACE: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: + case GI_INFO_TYPE_FIELD: + case GI_INFO_TYPE_ARG: + case GI_INFO_TYPE_TYPE: + case GI_INFO_TYPE_UNRESOLVED: + g_warning("Field %s: Interface type %d not expected", + gi_base_info_get_name ((GIBaseInfo *)field_info), + gi_base_info_get_info_type (interface)); + break; + default: + break; + } - gi_base_info_unref ((GIBaseInfo *)interface); - break; - } - break; - default: - break; - } + gi_base_info_unref ((GIBaseInfo *)interface); + break; + } + break; + default: + break; + } } else { switch (gi_type_info_get_tag (type_info)) { case GI_TYPE_TAG_INTERFACE: { - GIBaseInfo *interface = gi_type_info_get_interface (type_info); - switch (gi_base_info_get_info_type (interface)) + GIBaseInfo *interface = gi_type_info_get_interface (type_info); + switch (gi_base_info_get_info_type (interface)) { case GI_INFO_TYPE_OBJECT: case GI_INFO_TYPE_INTERFACE: G_STRUCT_MEMBER (gpointer, mem, offset) = (gpointer)value->v_pointer; result = TRUE; break; - default: - break; + default: + break; } gi_base_info_unref ((GIBaseInfo *)interface); } break; - default: - break; + default: + break; } } diff --git a/girepository/ginvoke.c b/girepository/ginvoke.c index 00f29c6b9..f46c5d1b7 100644 --- a/girepository/ginvoke.c +++ b/girepository/ginvoke.c @@ -121,8 +121,8 @@ value_to_ffi_type (const GValue *gvalue, gpointer *value) */ static ffi_type * g_value_to_ffi_return_type (const GValue *gvalue, - const GIArgument *ffi_value, - gpointer *value) + const GIArgument *ffi_value, + gpointer *value) { ffi_type *rettype = NULL; GType type = g_type_fundamental (G_VALUE_TYPE (gvalue)); @@ -246,7 +246,7 @@ g_value_from_ffi_value (GValue *gvalue, break; default: g_warning ("Unsupported fundamental type: %s", - g_type_name (g_type_fundamental (G_VALUE_TYPE (gvalue)))); + g_type_name (g_type_fundamental (G_VALUE_TYPE (gvalue)))); } } @@ -288,7 +288,7 @@ gi_cclosure_marshal_generic (GClosure *closure, if (return_gvalue && G_VALUE_TYPE (return_gvalue)) { rtype = g_value_to_ffi_return_type (return_gvalue, &return_ffi_value, - &rvalue); + &rvalue); } else { diff --git a/girepository/giobjectinfo.c b/girepository/giobjectinfo.c index 67dffb692..8176aff1d 100644 --- a/girepository/giobjectinfo.c +++ b/girepository/giobjectinfo.c @@ -528,20 +528,20 @@ gi_object_info_find_method_using_interfaces (GIObjectInfo *info, n_interfaces = gi_object_info_get_n_interfaces (info); for (i = 0; i < n_interfaces; ++i) - { - GIInterfaceInfo *iface_info; + { + GIInterfaceInfo *iface_info; - iface_info = gi_object_info_get_interface (info, i); + iface_info = gi_object_info_get_interface (info, i); - result = gi_interface_info_find_method (iface_info, name); + result = gi_interface_info_find_method (iface_info, name); - if (result != NULL) - { - implementor_result = (GIObjectInfo *) iface_info; - break; - } - gi_base_info_unref ((GIBaseInfo*) iface_info); - } + if (result != NULL) + { + implementor_result = (GIObjectInfo *) iface_info; + break; + } + gi_base_info_unref ((GIBaseInfo*) iface_info); + } } if (implementor) *implementor = implementor_result; @@ -637,10 +637,10 @@ gi_object_info_find_signal (GIObjectInfo *info, GISignalInfo *siginfo = gi_object_info_get_signal (info, i); if (g_strcmp0 (gi_base_info_get_name ((GIBaseInfo *) siginfo), name) != 0) - { - gi_base_info_unref ((GIBaseInfo*)siginfo); - continue; - } + { + gi_base_info_unref ((GIBaseInfo*)siginfo); + continue; + } return siginfo; } @@ -801,20 +801,20 @@ gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info, n_interfaces = gi_object_info_get_n_interfaces (info); for (i = 0; i < n_interfaces; ++i) - { - GIInterfaceInfo *iface_info; + { + GIInterfaceInfo *iface_info; - iface_info = gi_object_info_get_interface (info, i); + iface_info = gi_object_info_get_interface (info, i); - result = gi_interface_info_find_vfunc (iface_info, name); + result = gi_interface_info_find_vfunc (iface_info, name); - if (result != NULL) - { - implementor_result = (GIObjectInfo *) iface_info; - break; - } - gi_base_info_unref ((GIBaseInfo*) iface_info); - } + if (result != NULL) + { + implementor_result = (GIObjectInfo *) iface_info; + break; + } + gi_base_info_unref ((GIBaseInfo*) iface_info); + } } if (implementor) *implementor = implementor_result; diff --git a/girepository/giobjectinfo.h b/girepository/giobjectinfo.h index 2259096ff..454965693 100644 --- a/girepository/giobjectinfo.h +++ b/girepository/giobjectinfo.h @@ -88,7 +88,7 @@ typedef void * (*GIObjectInfoGetValueFunction) (const GValue *value); GI_AVAILABLE_IN_ALL -const gchar * gi_object_info_get_type_name (GIObjectInfo *info); +const gchar * gi_object_info_get_type_name (GIObjectInfo *info); GI_AVAILABLE_IN_ALL const gchar * gi_object_info_get_type_init_function_name (GIObjectInfo *info); @@ -135,7 +135,7 @@ GIFunctionInfo * gi_object_info_get_method (GIObjectInfo *info, GI_AVAILABLE_IN_ALL GIFunctionInfo * gi_object_info_find_method (GIObjectInfo *info, - const gchar *name); + const gchar *name); GI_AVAILABLE_IN_ALL diff --git a/girepository/girepository.c b/girepository/girepository.c index 5962efe87..92f991c3c 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -111,8 +111,8 @@ BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); BOOL WINAPI DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved) + DWORD fdwReason, + LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH) girepository_dll = hinstDLL; @@ -129,8 +129,8 @@ DllMain (HINSTANCE hinstDLL, */ #define GOBJECT_INTROSPECTION_LIBDIR \ g_build_filename (g_win32_get_package_installation_directory_of_module (girepository_dll), \ - "lib", \ - NULL) + "lib", \ + NULL) #endif @@ -140,8 +140,8 @@ gi_repository_init (GIRepository *repository) repository->priv = gi_repository_get_instance_private (repository); repository->priv->typelibs = g_hash_table_new_full (g_str_hash, g_str_equal, - (GDestroyNotify) g_free, - (GDestroyNotify) gi_typelib_free); + (GDestroyNotify) g_free, + (GDestroyNotify) gi_typelib_free); repository->priv->lazy_typelibs = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, @@ -324,9 +324,9 @@ get_repository (GIRepository *repository) static GITypelib * check_version_conflict (GITypelib *typelib, - const gchar *namespace, - const gchar *expected_version, - char **version_conflict) + const gchar *namespace, + const gchar *expected_version, + char **version_conflict) { Header *header; const char *loaded_version; @@ -334,7 +334,7 @@ check_version_conflict (GITypelib *typelib, if (expected_version == NULL) { if (version_conflict) - *version_conflict = NULL; + *version_conflict = NULL; return typelib; } @@ -345,7 +345,7 @@ check_version_conflict (GITypelib *typelib, if (strcmp (expected_version, loaded_version) != 0) { if (version_conflict) - *version_conflict = (char*)loaded_version; + *version_conflict = (char*)loaded_version; return NULL; } if (version_conflict) @@ -355,11 +355,11 @@ check_version_conflict (GITypelib *typelib, static GITypelib * get_registered_status (GIRepository *repository, - const char *namespace, - const char *version, - gboolean allow_lazy, - gboolean *lazy_status, - char **version_conflict) + const char *namespace, + const char *version, + gboolean allow_lazy, + gboolean *lazy_status, + char **version_conflict) { GITypelib *typelib; repository = get_repository (repository); @@ -380,16 +380,16 @@ get_registered_status (GIRepository *repository, static GITypelib * get_registered (GIRepository *repository, - const char *namespace, - const char *version) + const char *namespace, + const char *version) { return get_registered_status (repository, namespace, version, TRUE, NULL, NULL); } static gboolean load_dependencies_recurse (GIRepository *repository, - GITypelib *typelib, - GError **error) + GITypelib *typelib, + GError **error) { char **dependencies; @@ -400,25 +400,25 @@ load_dependencies_recurse (GIRepository *repository, int i; for (i = 0; dependencies[i]; i++) - { - char *dependency = dependencies[i]; - const char *last_dash; - char *dependency_namespace; - const char *dependency_version; + { + char *dependency = dependencies[i]; + const char *last_dash; + char *dependency_namespace; + const char *dependency_version; - last_dash = strrchr (dependency, '-'); - dependency_namespace = g_strndup (dependency, last_dash - dependency); - dependency_version = last_dash+1; + last_dash = strrchr (dependency, '-'); + dependency_namespace = g_strndup (dependency, last_dash - dependency); + dependency_version = last_dash+1; - if (!gi_repository_require (repository, dependency_namespace, dependency_version, - 0, error)) - { - g_free (dependency_namespace); - g_strfreev (dependencies); - return FALSE; - } - g_free (dependency_namespace); - } + if (!gi_repository_require (repository, dependency_namespace, dependency_version, + 0, error)) + { + g_free (dependency_namespace); + g_strfreev (dependencies); + return FALSE; + } + g_free (dependency_namespace); + } g_strfreev (dependencies); } return TRUE; @@ -426,10 +426,10 @@ load_dependencies_recurse (GIRepository *repository, static const char * register_internal (GIRepository *repository, - const char *source, - gboolean lazy, - GITypelib *typelib, - GError **error) + const char *source, + gboolean lazy, + GITypelib *typelib, + GError **error) { Header *header; const gchar *namespace; @@ -445,9 +445,9 @@ register_internal (GIRepository *repository, if (lazy) { g_assert (!g_hash_table_lookup (repository->priv->lazy_typelibs, - namespace)); + namespace)); g_hash_table_insert (repository->priv->lazy_typelibs, - build_typelib_key (namespace, source), (void *)typelib); + build_typelib_key (namespace, source), (void *)typelib); } else { @@ -456,15 +456,15 @@ register_internal (GIRepository *repository, /* First, try loading all the dependencies */ if (!load_dependencies_recurse (repository, typelib, error)) - return NULL; + return NULL; /* Check if we are transitioning from lazily loaded state */ if (g_hash_table_lookup_extended (repository->priv->lazy_typelibs, - namespace, - (gpointer)&key, &value)) - g_hash_table_remove (repository->priv->lazy_typelibs, key); + namespace, + (gpointer)&key, &value)) + g_hash_table_remove (repository->priv->lazy_typelibs, key); else - key = build_typelib_key (namespace, source); + key = build_typelib_key (namespace, source); g_hash_table_insert (repository->priv->typelibs, g_steal_pointer (&key), @@ -584,7 +584,7 @@ get_typelib_dependencies_transitive (GIRepository *repository, */ char ** gi_repository_get_dependencies (GIRepository *repository, - const char *namespace) + const char *namespace) { GITypelib *typelib; GHashTable *transitive_dependencies; /* set of owned utf8 */ @@ -636,9 +636,9 @@ gi_repository_get_dependencies (GIRepository *repository, */ const char * gi_repository_load_typelib (GIRepository *repository, - GITypelib *typelib, - GIRepositoryLoadFlags flags, - GError **error) + GITypelib *typelib, + GIRepositoryLoadFlags flags, + GError **error) { Header *header; const char *namespace; @@ -654,20 +654,20 @@ gi_repository_load_typelib (GIRepository *repository, nsversion = gi_typelib_get_string (typelib, header->nsversion); if (get_registered_status (repository, namespace, nsversion, allow_lazy, - &is_lazy, &version_conflict)) + &is_lazy, &version_conflict)) { if (version_conflict != NULL) - { - g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, - "Attempting to load namespace '%s', version '%s', but '%s' is already loaded", - namespace, nsversion, version_conflict); - return NULL; - } + { + g_set_error (error, GI_REPOSITORY_ERROR, + GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, + "Attempting to load namespace '%s', version '%s', but '%s' is already loaded", + namespace, nsversion, version_conflict); + return NULL; + } return namespace; } return register_internal (repository, "", - allow_lazy, typelib, error); + allow_lazy, typelib, error); } /** @@ -691,8 +691,8 @@ gi_repository_load_typelib (GIRepository *repository, */ gboolean gi_repository_is_registered (GIRepository *repository, - const gchar *namespace, - const gchar *version) + const gchar *namespace, + const gchar *version) { repository = get_repository (repository); return get_registered (repository, namespace, version) != NULL; @@ -755,7 +755,7 @@ gi_repository_new (void) */ guint gi_repository_get_n_infos (GIRepository *repository, - const gchar *namespace) + const gchar *namespace) { GITypelib *typelib; guint n_interfaces = 0; @@ -793,8 +793,8 @@ gi_repository_get_n_infos (GIRepository *repository, */ GIBaseInfo * gi_repository_get_info (GIRepository *repository, - const gchar *namespace, - guint idx) + const gchar *namespace, + guint idx) { GITypelib *typelib; DirEntry *entry; @@ -879,7 +879,7 @@ gi_repository_find_by_gtype (GIRepository *repository, repository = get_repository (repository); cached = g_hash_table_lookup (repository->priv->info_by_gtype, - (gpointer)gtype); + (gpointer)gtype); if (cached != NULL) return gi_base_info_ref (cached); @@ -918,8 +918,8 @@ gi_repository_find_by_gtype (GIRepository *repository, NULL, data.result_typelib, entry->offset); g_hash_table_insert (repository->priv->info_by_gtype, - (gpointer) gtype, - gi_base_info_ref (cached)); + (gpointer) gtype, + gi_base_info_ref (cached)); return cached; } else @@ -948,8 +948,8 @@ gi_repository_find_by_gtype (GIRepository *repository, */ GIBaseInfo * gi_repository_find_by_name (GIRepository *repository, - const gchar *namespace, - const gchar *name) + const gchar *namespace, + const gchar *name) { GITypelib *typelib; DirEntry *entry; @@ -978,8 +978,8 @@ typedef struct { static void find_by_error_domain_foreach (gpointer key, - gpointer value, - gpointer datap) + gpointer value, + gpointer datap) { GITypelib *typelib = (GITypelib*)value; FindByErrorDomainData *data = datap; @@ -1011,7 +1011,7 @@ find_by_error_domain_foreach (gpointer key, */ GIEnumInfo * gi_repository_find_by_error_domain (GIRepository *repository, - GQuark domain) + GQuark domain) { FindByErrorDomainData data; GIEnumInfo *cached; @@ -1019,7 +1019,7 @@ gi_repository_find_by_error_domain (GIRepository *repository, repository = get_repository (repository); cached = g_hash_table_lookup (repository->priv->info_by_error_domain, - GUINT_TO_POINTER (domain)); + GUINT_TO_POINTER (domain)); if (cached != NULL) return (GIEnumInfo *) gi_base_info_ref ((GIBaseInfo *)cached); @@ -1040,8 +1040,8 @@ gi_repository_find_by_error_domain (GIRepository *repository, NULL, data.result_typelib, data.result->offset); g_hash_table_insert (repository->priv->info_by_error_domain, - GUINT_TO_POINTER (domain), - gi_base_info_ref ((GIBaseInfo *) cached)); + GUINT_TO_POINTER (domain), + gi_base_info_ref ((GIBaseInfo *) cached)); return cached; } return NULL; @@ -1130,8 +1130,8 @@ gi_repository_get_object_gtype_interfaces (GIRepository *repository, static void collect_namespaces (gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { GList **list = data; @@ -1188,7 +1188,7 @@ gi_repository_get_loaded_namespaces (GIRepository *repository) */ const gchar * gi_repository_get_version (GIRepository *repository, - const gchar *namespace) + const gchar *namespace) { GITypelib *typelib; Header *header; @@ -1331,19 +1331,19 @@ gi_repository_get_c_prefix (GIRepository *repository, */ const gchar * gi_repository_get_typelib_path (GIRepository *repository, - const gchar *namespace) + const gchar *namespace) { gpointer orig_key, value; repository = get_repository (repository); if (!g_hash_table_lookup_extended (repository->priv->typelibs, namespace, - &orig_key, &value)) + &orig_key, &value)) { if (!g_hash_table_lookup_extended (repository->priv->lazy_typelibs, namespace, - &orig_key, &value)) + &orig_key, &value)) - return NULL; + return NULL; } return ((char*)orig_key) + strlen ((char *) orig_key) + 1; } @@ -1379,11 +1379,11 @@ find_namespace_version (const char *namespace, mfile = g_mapped_file_new (path, FALSE, &error); if (error) - { - g_free (path); - g_clear_error (&error); - continue; - } + { + g_free (path); + g_clear_error (&error); + continue; + } *path_ret = path; break; } @@ -1393,8 +1393,8 @@ find_namespace_version (const char *namespace, static gboolean parse_version (const char *version, - int *major, - int *minor) + int *major, + int *minor) { const char *dot; char *end; @@ -1416,7 +1416,7 @@ parse_version (const char *version, static int compare_version (const char *v1, - const char *v2) + const char *v2) { gboolean success; int v1_major, v1_minor; @@ -1452,7 +1452,7 @@ struct NamespaceVersionCandidadate static int compare_candidate_reverse (struct NamespaceVersionCandidadate *c1, - struct NamespaceVersionCandidadate *c2) + struct NamespaceVersionCandidadate *c2) { int result = compare_version (c1->version, c2->version); /* First, check the version */ @@ -1467,11 +1467,11 @@ compare_candidate_reverse (struct NamespaceVersionCandidadate *c1, * pick the earlier one. */ if (c1->path_index == c2->path_index) - return 0; + return 0; else if (c1->path_index > c2->path_index) - return 1; + return 1; else - return -1; + return -1; } } @@ -1509,66 +1509,66 @@ enumerate_namespace_versions (const char *namespace, dirname = search_paths[i]; dir = g_dir_open (dirname, 0, NULL); if (dir == NULL) - continue; + continue; while ((entry = g_dir_read_name (dir)) != NULL) - { - GMappedFile *mfile; - char *path, *version; - struct NamespaceVersionCandidadate *candidate; + { + GMappedFile *mfile; + char *path, *version; + struct NamespaceVersionCandidadate *candidate; - if (!g_str_has_suffix (entry, ".typelib")) - continue; + if (!g_str_has_suffix (entry, ".typelib")) + continue; - if (g_str_has_prefix (entry, namespace_dash)) - { - const char *last_dash; - const char *name_end; - int major, minor; + if (g_str_has_prefix (entry, namespace_dash)) + { + const char *last_dash; + const char *name_end; + int major, minor; - if (g_str_equal (namespace, GIREPOSITORY_TYPELIB_NAME) && - !g_str_equal (entry, GIREPOSITORY_TYPELIB_FILENAME)) - { - g_debug ("Ignoring %s because this libgirepository " - "corresponds to %s", - entry, GIREPOSITORY_TYPELIB_FILENAME); - continue; - } + if (g_str_equal (namespace, GIREPOSITORY_TYPELIB_NAME) && + !g_str_equal (entry, GIREPOSITORY_TYPELIB_FILENAME)) + { + g_debug ("Ignoring %s because this libgirepository " + "corresponds to %s", + entry, GIREPOSITORY_TYPELIB_FILENAME); + continue; + } - name_end = strrchr (entry, '.'); - last_dash = strrchr (entry, '-'); - version = g_strndup (last_dash+1, name_end-(last_dash+1)); - if (!parse_version (version, &major, &minor)) - { - g_free (version); - continue; - } - } - else - continue; + name_end = strrchr (entry, '.'); + last_dash = strrchr (entry, '-'); + version = g_strndup (last_dash+1, name_end-(last_dash+1)); + if (!parse_version (version, &major, &minor)) + { + g_free (version); + continue; + } + } + else + continue; - if (g_hash_table_lookup (found_versions, version) != NULL) - { - g_free (version); - continue; - } + if (g_hash_table_lookup (found_versions, version) != NULL) + { + g_free (version); + continue; + } - path = g_build_filename (dirname, entry, NULL); - mfile = g_mapped_file_new (path, FALSE, &error); - if (mfile == NULL) - { - g_free (path); - g_free (version); - g_clear_error (&error); - continue; - } - candidate = g_slice_new0 (struct NamespaceVersionCandidadate); - candidate->mfile = mfile; - candidate->path_index = index; - candidate->path = path; - candidate->version = version; - candidates = g_slist_prepend (candidates, candidate); - g_hash_table_add (found_versions, version); - } + path = g_build_filename (dirname, entry, NULL); + mfile = g_mapped_file_new (path, FALSE, &error); + if (mfile == NULL) + { + g_free (path); + g_free (version); + g_clear_error (&error); + continue; + } + candidate = g_slice_new0 (struct NamespaceVersionCandidadate); + candidate->mfile = mfile; + candidate->path_index = index; + candidate->path = path; + candidate->version = version; + candidates = g_slist_prepend (candidates, candidate); + g_hash_table_add (found_versions, version); + } g_dir_close (dir); index++; } @@ -1708,9 +1708,9 @@ require_internal (GIRepository *repository, if (version_conflict != NULL) { g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, - "Requiring namespace '%s' version '%s', but '%s' is already loaded", - namespace, version, version_conflict); + GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, + "Requiring namespace '%s' version '%s', but '%s' is already loaded", + namespace, version, version_conflict); return NULL; } @@ -1729,15 +1729,15 @@ require_internal (GIRepository *repository, if (mfile == NULL) { if (version != NULL) - g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, - "Typelib file for namespace '%s', version '%s' not found", - namespace, version); + g_set_error (error, GI_REPOSITORY_ERROR, + GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, + "Typelib file for namespace '%s', version '%s' not found", + namespace, version); else - g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, - "Typelib file for namespace '%s' (any version) not found", - namespace); + g_set_error (error, GI_REPOSITORY_ERROR, + GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, + "Typelib file for namespace '%s' (any version) not found", + namespace); goto out; } @@ -1746,12 +1746,12 @@ require_internal (GIRepository *repository, typelib = gi_typelib_new_from_mapped_file (mfile, &temp_error); if (!typelib) { - g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, - "Failed to load typelib file '%s' for namespace '%s': %s", - path, namespace, temp_error->message); - g_clear_error (&temp_error); - goto out; + g_set_error (error, GI_REPOSITORY_ERROR, + GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND, + "Failed to load typelib file '%s' for namespace '%s': %s", + path, namespace, temp_error->message); + g_clear_error (&temp_error); + goto out; } } header = (Header *) typelib->data; @@ -1761,26 +1761,26 @@ require_internal (GIRepository *repository, if (strcmp (typelib_namespace, namespace) != 0) { g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH, - "Typelib file %s for namespace '%s' contains " - "namespace '%s' which doesn't match the file name", - path, namespace, typelib_namespace); + GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH, + "Typelib file %s for namespace '%s' contains " + "namespace '%s' which doesn't match the file name", + path, namespace, typelib_namespace); gi_typelib_free (typelib); goto out; } if (version != NULL && strcmp (typelib_version, version) != 0) { g_set_error (error, GI_REPOSITORY_ERROR, - GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH, - "Typelib file %s for namespace '%s' contains " - "version '%s' which doesn't match the expected version '%s'", - path, namespace, typelib_version, version); + GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH, + "Typelib file %s for namespace '%s' contains " + "version '%s' which doesn't match the expected version '%s'", + path, namespace, typelib_version, version); gi_typelib_free (typelib); goto out; } if (!register_internal (repository, path, allow_lazy, - typelib, error)) + typelib, error)) { gi_typelib_free (typelib); goto out; @@ -1814,10 +1814,10 @@ require_internal (GIRepository *repository, */ GITypelib * gi_repository_require (GIRepository *repository, - const gchar *namespace, - const gchar *version, - GIRepositoryLoadFlags flags, - GError **error) + const gchar *namespace, + const gchar *version, + GIRepositoryLoadFlags flags, + GError **error) { GITypelib *typelib; @@ -1853,11 +1853,11 @@ gi_repository_require (GIRepository *repository, */ GITypelib * gi_repository_require_private (GIRepository *repository, - const gchar *typelib_dir, - const gchar *namespace, - const gchar *version, - GIRepositoryLoadFlags flags, - GError **error) + const gchar *typelib_dir, + const gchar *namespace, + const gchar *version, + GIRepositoryLoadFlags flags, + GError **error) { const char * const search_path[] = { typelib_dir, NULL }; @@ -1867,9 +1867,9 @@ gi_repository_require_private (GIRepository *repository, static gboolean gi_repository_introspect_cb (const char *option_name, - const char *value, - gpointer data, - GError **error) + const char *value, + gpointer data, + GError **error) { GError *tmp_error = NULL; char **args; @@ -1879,7 +1879,7 @@ gi_repository_introspect_cb (const char *option_name, if (!gi_repository_dump (args[0], args[1], &tmp_error)) { g_error ("Failed to extract GType data: %s", - tmp_error->message); + tmp_error->message); exit (1); } exit (0); diff --git a/girepository/girffi.c b/girepository/girffi.c index f14ab84c7..d80c50ff7 100644 --- a/girepository/girffi.c +++ b/girepository/girffi.c @@ -38,7 +38,7 @@ static ffi_type * gi_type_tag_get_ffi_type_internal (GITypeTag tag, gboolean is_pointer, - gboolean is_enum) + gboolean is_enum) { switch (tag) { @@ -83,13 +83,13 @@ gi_type_tag_get_ffi_type_internal (GITypeTag tag, return &ffi_type_pointer; case GI_TYPE_TAG_INTERFACE: { - /* We need to handle enums specially: - * https://bugzilla.gnome.org/show_bug.cgi?id=665150 - */ + /* We need to handle enums specially: + * https://bugzilla.gnome.org/show_bug.cgi?id=665150 + */ if (!is_enum) return &ffi_type_pointer; - else - return &ffi_type_sint32; + else + return &ffi_type_sint32; } case GI_TYPE_TAG_VOID: if (is_pointer) @@ -118,7 +118,7 @@ gi_type_tag_get_ffi_type_internal (GITypeTag tag, */ ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, - gboolean is_pointer) + gboolean is_pointer) { return gi_type_tag_get_ffi_type_internal (type_tag, is_pointer, FALSE); } diff --git a/girepository/girmodule.c b/girepository/girmodule.c index d48572165..664915bf3 100644 --- a/girepository/girmodule.c +++ b/girepository/girmodule.c @@ -122,16 +122,16 @@ gi_ir_module_fatal (GIIrTypelibBuild *build, GIIrNode *node = link->data; const char *name = node->name; if (name) - g_string_append (context, name); + g_string_append (context, name); if (link->prev) - g_string_append (context, "."); + g_string_append (context, "."); } if (build->stack) g_string_append (context, ": "); g_printerr ("%s-%s.gir:%serror: %s\n", build->module->name, - build->module->version, - context->str, formatted); + build->module->version, + context->str, formatted); g_string_free (context, TRUE); exit (1); @@ -141,8 +141,8 @@ gi_ir_module_fatal (GIIrTypelibBuild *build, static void add_alias_foreach (gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { GIIrModule *module = data; @@ -161,8 +161,8 @@ add_pointer_structure_foreach (gpointer key, static void add_disguised_structure_foreach (gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { GIIrModule *module = data; @@ -174,18 +174,18 @@ gi_ir_module_add_include_module (GIIrModule *module, GIIrModule *include_module) { module->include_modules = g_list_prepend (module->include_modules, - include_module); + include_module); g_hash_table_foreach (include_module->aliases, - add_alias_foreach, - module); + add_alias_foreach, + module); g_hash_table_foreach (include_module->pointer_structures, - add_pointer_structure_foreach, - module); + add_pointer_structure_foreach, + module); g_hash_table_foreach (include_module->disguised_structures, - add_disguised_structure_foreach, - module); + add_disguised_structure_foreach, + module); } struct AttributeWriteData @@ -256,11 +256,11 @@ alloc_section (guint8 *data, SectionType section_id, guint32 offset) for (i = 0; i < NUM_SECTIONS; i++) { if (section_data->id == GI_SECTION_END) - { - section_data->id = section_id; - section_data->offset = offset; - return; - } + { + section_data->id = section_id; + section_data->offset = offset; + return; + } section_data++; } g_assert_not_reached (); @@ -346,18 +346,18 @@ gi_ir_module_build_typelib (GIIrModule *module) GList *link; for (link = module->dependencies; link; link = link->next) { - const char *dependency = link->data; - if (!strcmp (dependency, module->name)) - continue; - g_string_append (dependencies_str, dependency); - if (link->next) - g_string_append_c (dependencies_str, '|'); + const char *dependency = link->data; + if (!strcmp (dependency, module->name)) + continue; + g_string_append (dependencies_str, dependency); + if (link->next) + g_string_append_c (dependencies_str, '|'); } dependencies = g_string_free (dependencies_str, FALSE); if (!dependencies[0]) { - g_free (dependencies); - dependencies = NULL; + g_free (dependencies); + dependencies = NULL; } } @@ -369,7 +369,7 @@ gi_ir_module_build_typelib (GIIrModule *module) n_entries = g_list_length (module->entries); g_message ("%d entries (%d local), %d dependencies", n_entries, n_local_entries, - g_list_length (module->dependencies)); + g_list_length (module->dependencies)); dir_size = n_entries * sizeof (DirEntry); size = header_size + dir_size; @@ -398,7 +398,7 @@ gi_ir_module_build_typelib (GIIrModule *module) size += sizeof (Section) * NUM_SECTIONS; g_message ("allocating %d bytes (%d header, %d directory, %d entries)", - size, header_size, dir_size, size - header_size - dir_size); + size, header_size, dir_size, size - header_size - dir_size); data = g_malloc0 (size); @@ -476,67 +476,67 @@ gi_ir_module_build_typelib (GIIrModule *module) if (strchr (node->name, '.')) { - g_error ("Names may not contain '.'"); - } + g_error ("Names may not contain '.'"); + } /* we picked up implicit xref nodes, start over */ if (i == n_entries) - { - GList *link; - g_message ("Found implicit cross references, starting over"); + { + GList *link; + g_message ("Found implicit cross references, starting over"); - g_hash_table_destroy (strings); - g_hash_table_destroy (types); + g_hash_table_destroy (strings); + g_hash_table_destroy (types); - /* Reset the cached offsets */ - for (link = nodes_with_attributes; link; link = link->next) - ((GIIrNode *) link->data)->offset = 0; + /* Reset the cached offsets */ + for (link = nodes_with_attributes; link; link = link->next) + ((GIIrNode *) link->data)->offset = 0; - g_list_free (nodes_with_attributes); - strings = NULL; + g_list_free (nodes_with_attributes); + strings = NULL; - g_free (data); - data = NULL; + g_free (data); + data = NULL; - goto restart; - } + goto restart; + } offset = offset2; if (node->type == GI_IR_NODE_XREF) - { - const char *namespace = ((GIIrNodeXRef*)node)->namespace; + { + const char *namespace = ((GIIrNodeXRef*)node)->namespace; - entry->blob_type = 0; - entry->local = FALSE; - entry->offset = gi_ir_write_string (namespace, strings, data, &offset2); - entry->name = gi_ir_write_string (node->name, strings, data, &offset2); - } + entry->blob_type = 0; + entry->local = FALSE; + entry->offset = gi_ir_write_string (namespace, strings, data, &offset2); + entry->name = gi_ir_write_string (node->name, strings, data, &offset2); + } else - { - old_offset = offset; - offset2 = offset + gi_ir_node_get_size (node); + { + old_offset = offset; + offset2 = offset + gi_ir_node_get_size (node); - entry->blob_type = node->type; - entry->local = TRUE; - entry->offset = offset; - entry->name = gi_ir_write_string (node->name, strings, data, &offset2); + entry->blob_type = node->type; + entry->local = TRUE; + entry->offset = offset; + entry->name = gi_ir_write_string (node->name, strings, data, &offset2); - memset (&build, 0, sizeof (build)); - build.module = module; - build.strings = strings; - build.types = types; - build.nodes_with_attributes = nodes_with_attributes; - build.n_attributes = header->n_attributes; - build.data = data; - gi_ir_node_build_typelib (node, NULL, &build, &offset, &offset2, NULL); + memset (&build, 0, sizeof (build)); + build.module = module; + build.strings = strings; + build.types = types; + build.nodes_with_attributes = nodes_with_attributes; + build.n_attributes = header->n_attributes; + build.data = data; + gi_ir_node_build_typelib (node, NULL, &build, &offset, &offset2, NULL); - nodes_with_attributes = build.nodes_with_attributes; - header->n_attributes = build.n_attributes; + nodes_with_attributes = build.nodes_with_attributes; + header->n_attributes = build.n_attributes; - if (offset2 > old_offset + gi_ir_node_get_full_size (node)) - g_error ("left a hole of %d bytes", offset2 - old_offset - gi_ir_node_get_full_size (node)); - } + if (offset2 > old_offset + gi_ir_node_get_full_size (node)) + g_error ("left a hole of %d bytes", offset2 - old_offset - gi_ir_node_get_full_size (node)); + } entry++; } @@ -572,7 +572,7 @@ gi_ir_module_build_typelib (GIIrModule *module) if (!typelib) { g_error ("error building typelib: %s", - error->message); + error->message); } g_hash_table_destroy (strings); diff --git a/girepository/girnode.c b/girepository/girnode.c index fb02e2425..0fcde3750 100644 --- a/girepository/girnode.c +++ b/girepository/girnode.c @@ -59,15 +59,15 @@ void gi_ir_node_dump_stats (void) { g_message ("%lu strings (%lu before sharing), %lu bytes (%lu before sharing)", - unique_string_count, string_count, unique_string_size, string_size); + unique_string_count, string_count, unique_string_size, string_size); g_message ("%lu types (%lu before sharing)", unique_types_count, types_count); } #define DO_ALIGNED_COPY(dest_addr, value, type) \ do { \ - type tmp_var; \ - tmp_var = value; \ - memcpy(dest_addr, &tmp_var, sizeof(type)); \ + type tmp_var; \ + tmp_var = value; \ + memcpy(dest_addr, &tmp_var, sizeof(type)); \ } while(0) #define ALIGN_VALUE(this, boundary) \ @@ -218,205 +218,205 @@ gi_ir_node_free (GIIrNode *node) case GI_IR_NODE_FUNCTION: case GI_IR_NODE_CALLBACK: { - GIIrNodeFunction *function = (GIIrNodeFunction *)node; + GIIrNodeFunction *function = (GIIrNodeFunction *)node; - g_free (node->name); - g_free (function->symbol); + g_free (node->name); + g_free (function->symbol); g_free (function->property); - gi_ir_node_free ((GIIrNode *)function->result); - for (l = function->parameters; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (function->parameters); + gi_ir_node_free ((GIIrNode *)function->result); + for (l = function->parameters; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (function->parameters); } break; case GI_IR_NODE_TYPE: { - GIIrNodeType *type = (GIIrNodeType *)node; + GIIrNodeType *type = (GIIrNodeType *)node; - g_free (node->name); - gi_ir_node_free ((GIIrNode *)type->parameter_type1); - gi_ir_node_free ((GIIrNode *)type->parameter_type2); + g_free (node->name); + gi_ir_node_free ((GIIrNode *)type->parameter_type1); + gi_ir_node_free ((GIIrNode *)type->parameter_type2); - g_free (type->giinterface); - g_strfreev (type->errors); + g_free (type->giinterface); + g_strfreev (type->errors); } break; case GI_IR_NODE_PARAM: { - GIIrNodeParam *param = (GIIrNodeParam *)node; + GIIrNodeParam *param = (GIIrNodeParam *)node; - g_free (node->name); - gi_ir_node_free ((GIIrNode *)param->type); + g_free (node->name); + gi_ir_node_free ((GIIrNode *)param->type); } break; case GI_IR_NODE_PROPERTY: { - GIIrNodeProperty *property = (GIIrNodeProperty *)node; + GIIrNodeProperty *property = (GIIrNodeProperty *)node; - g_free (node->name); + g_free (node->name); g_free (property->setter); g_free (property->getter); - gi_ir_node_free ((GIIrNode *)property->type); + gi_ir_node_free ((GIIrNode *)property->type); } break; case GI_IR_NODE_SIGNAL: { - GIIrNodeSignal *signal = (GIIrNodeSignal *)node; + GIIrNodeSignal *signal = (GIIrNodeSignal *)node; - g_free (node->name); - for (l = signal->parameters; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (signal->parameters); - gi_ir_node_free ((GIIrNode *)signal->result); + g_free (node->name); + for (l = signal->parameters; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (signal->parameters); + gi_ir_node_free ((GIIrNode *)signal->result); } break; case GI_IR_NODE_VFUNC: { - GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; + GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; - g_free (node->name); - g_free (vfunc->invoker); - for (l = vfunc->parameters; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (vfunc->parameters); - gi_ir_node_free ((GIIrNode *)vfunc->result); + g_free (node->name); + g_free (vfunc->invoker); + for (l = vfunc->parameters; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (vfunc->parameters); + gi_ir_node_free ((GIIrNode *)vfunc->result); } break; case GI_IR_NODE_FIELD: { - GIIrNodeField *field = (GIIrNodeField *)node; + GIIrNodeField *field = (GIIrNodeField *)node; - g_free (node->name); - gi_ir_node_free ((GIIrNode *)field->type); - gi_ir_node_free ((GIIrNode *)field->callback); + g_free (node->name); + gi_ir_node_free ((GIIrNode *)field->type); + gi_ir_node_free ((GIIrNode *)field->callback); } break; case GI_IR_NODE_OBJECT: case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - g_free (node->name); - g_free (iface->gtype_name); - g_free (iface->gtype_init); - g_free (iface->ref_func); - g_free (iface->unref_func); - g_free (iface->set_value_func); - g_free (iface->get_value_func); + g_free (node->name); + g_free (iface->gtype_name); + g_free (iface->gtype_init); + g_free (iface->ref_func); + g_free (iface->unref_func); + g_free (iface->set_value_func); + g_free (iface->get_value_func); - g_free (iface->glib_type_struct); - g_free (iface->parent); + g_free (iface->glib_type_struct); + g_free (iface->parent); - for (l = iface->interfaces; l; l = l->next) - g_free ((GIIrNode *)l->data); - g_list_free (iface->interfaces); + for (l = iface->interfaces; l; l = l->next) + g_free ((GIIrNode *)l->data); + g_list_free (iface->interfaces); - for (l = iface->members; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (iface->members); + for (l = iface->members; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (iface->members); } break; case GI_IR_NODE_VALUE: { - g_free (node->name); + g_free (node->name); } break; case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; + GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; - g_free (node->name); - g_free (enum_->gtype_name); - g_free (enum_->gtype_init); - g_free (enum_->error_domain); + g_free (node->name); + g_free (enum_->gtype_name); + g_free (enum_->gtype_init); + g_free (enum_->error_domain); - for (l = enum_->values; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (enum_->values); + for (l = enum_->values; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (enum_->values); - for (l = enum_->methods; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (enum_->methods); + for (l = enum_->methods; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (enum_->methods); } break; case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - g_free (node->name); - g_free (boxed->gtype_name); - g_free (boxed->gtype_init); + g_free (node->name); + g_free (boxed->gtype_name); + g_free (boxed->gtype_init); - for (l = boxed->members; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (boxed->members); + for (l = boxed->members; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (boxed->members); } break; case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - g_free (node->name); - g_free (struct_->gtype_name); - g_free (struct_->gtype_init); + g_free (node->name); + g_free (struct_->gtype_name); + g_free (struct_->gtype_init); g_free (struct_->copy_func); g_free (struct_->free_func); - for (l = struct_->members; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - g_list_free (struct_->members); + for (l = struct_->members; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + g_list_free (struct_->members); } break; case GI_IR_NODE_CONSTANT: { - GIIrNodeConstant *constant = (GIIrNodeConstant *)node; + GIIrNodeConstant *constant = (GIIrNodeConstant *)node; - g_free (node->name); - g_free (constant->value); - gi_ir_node_free ((GIIrNode *)constant->type); + g_free (node->name); + g_free (constant->value); + gi_ir_node_free ((GIIrNode *)constant->type); } break; case GI_IR_NODE_XREF: { - GIIrNodeXRef *xref = (GIIrNodeXRef *)node; + GIIrNodeXRef *xref = (GIIrNodeXRef *)node; - g_free (node->name); - g_free (xref->namespace); + g_free (node->name); + g_free (xref->namespace); } break; case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - g_free (node->name); - g_free (union_->gtype_name); - g_free (union_->gtype_init); + g_free (node->name); + g_free (union_->gtype_name); + g_free (union_->gtype_init); g_free (union_->copy_func); g_free (union_->free_func); - gi_ir_node_free ((GIIrNode *)union_->discriminator_type); - for (l = union_->members; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); - for (l = union_->discriminators; l; l = l->next) - gi_ir_node_free ((GIIrNode *)l->data); + gi_ir_node_free ((GIIrNode *)union_->discriminator_type); + for (l = union_->members; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); + for (l = union_->discriminators; l; l = l->next) + gi_ir_node_free ((GIIrNode *)l->data); } break; @@ -458,38 +458,38 @@ gi_ir_node_get_size (GIIrNode *node) case GI_IR_NODE_OBJECT: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - n = g_list_length (iface->interfaces); - size = sizeof (ObjectBlob) + 2 * (n + (n % 2)); + n = g_list_length (iface->interfaces); + size = sizeof (ObjectBlob) + 2 * (n + (n % 2)); - for (l = iface->members; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + for (l = iface->members; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - n = g_list_length (iface->prerequisites); - size = sizeof (InterfaceBlob) + 2 * (n + (n % 2)); + n = g_list_length (iface->prerequisites); + size = sizeof (InterfaceBlob) + 2 * (n + (n % 2)); - for (l = iface->members; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + for (l = iface->members; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; + GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; - size = sizeof (EnumBlob); - for (l = enum_->values; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); - for (l = enum_->methods; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + size = sizeof (EnumBlob); + for (l = enum_->values; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); + for (l = enum_->methods; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; @@ -499,21 +499,21 @@ gi_ir_node_get_size (GIIrNode *node) case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - size = sizeof (StructBlob); - for (l = struct_->members; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + size = sizeof (StructBlob); + for (l = struct_->members; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - size = sizeof (StructBlob); - for (l = boxed->members; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + size = sizeof (StructBlob); + for (l = boxed->members; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; @@ -531,7 +531,7 @@ gi_ir_node_get_size (GIIrNode *node) case GI_IR_NODE_FIELD: { - GIIrNodeField *field = (GIIrNodeField *)node; + GIIrNodeField *field = (GIIrNodeField *)node; size = sizeof (FieldBlob); if (field->callback) @@ -549,13 +549,13 @@ gi_ir_node_get_size (GIIrNode *node) case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - size = sizeof (UnionBlob); - for (l = union_->members; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); - for (l = union_->discriminators; l; l = l->next) - size += gi_ir_node_get_size ((GIIrNode *)l->data); + size = sizeof (UnionBlob); + for (l = union_->members; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); + for (l = union_->discriminators; l; l = l->next) + size += gi_ir_node_get_size ((GIIrNode *)l->data); } break; @@ -565,7 +565,7 @@ gi_ir_node_get_size (GIIrNode *node) } g_debug ("node %p type '%s' size %d", node, - gi_ir_node_type_to_string (node->type), size); + gi_ir_node_type_to_string (node->type), size); return size; } @@ -594,286 +594,286 @@ gi_ir_node_get_full_size_internal (GIIrNode *parent, g_error ("Caught NULL node, parent=%s", parent->name); g_debug ("node %p type '%s'", node, - gi_ir_node_type_to_string (node->type)); + gi_ir_node_type_to_string (node->type)); switch (node->type) { case GI_IR_NODE_CALLBACK: { - GIIrNodeFunction *function = (GIIrNodeFunction *)node; - size = sizeof (CallbackBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - for (l = function->parameters; l; l = l->next) - { - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - } - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)function->result); + GIIrNodeFunction *function = (GIIrNodeFunction *)node; + size = sizeof (CallbackBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + for (l = function->parameters; l; l = l->next) + { + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + } + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)function->result); } break; case GI_IR_NODE_FUNCTION: { - GIIrNodeFunction *function = (GIIrNodeFunction *)node; - size = sizeof (FunctionBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += ALIGN_VALUE (strlen (function->symbol) + 1, 4); - for (l = function->parameters; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)function->result); + GIIrNodeFunction *function = (GIIrNodeFunction *)node; + size = sizeof (FunctionBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += ALIGN_VALUE (strlen (function->symbol) + 1, 4); + for (l = function->parameters; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)function->result); } break; case GI_IR_NODE_PARAM: { - GIIrNodeParam *param = (GIIrNodeParam *)node; + GIIrNodeParam *param = (GIIrNodeParam *)node; - /* See the comment in the GI_IR_NODE_PARAM/ArgBlob writing below */ - size = sizeof (ArgBlob) - sizeof (SimpleTypeBlob); - if (node->name) - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)param->type); + /* See the comment in the GI_IR_NODE_PARAM/ArgBlob writing below */ + size = sizeof (ArgBlob) - sizeof (SimpleTypeBlob); + if (node->name) + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)param->type); } break; case GI_IR_NODE_TYPE: { - GIIrNodeType *type = (GIIrNodeType *)node; + GIIrNodeType *type = (GIIrNodeType *)node; size = sizeof (SimpleTypeBlob); if (!GI_TYPE_TAG_IS_BASIC (type->tag)) - { - g_debug ("node %p type tag '%s'", node, - gi_type_tag_to_string (type->tag)); + { + g_debug ("node %p type tag '%s'", node, + gi_type_tag_to_string (type->tag)); - switch (type->tag) - { - case GI_TYPE_TAG_ARRAY: - size = sizeof (ArrayTypeBlob); - if (type->parameter_type1) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); - break; - case GI_TYPE_TAG_INTERFACE: - size += sizeof (InterfaceTypeBlob); - break; - case GI_TYPE_TAG_GLIST: - case GI_TYPE_TAG_GSLIST: - size += sizeof (ParamTypeBlob); - if (type->parameter_type1) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); - break; - case GI_TYPE_TAG_GHASH: - size += sizeof (ParamTypeBlob) * 2; - if (type->parameter_type1) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); - if (type->parameter_type2) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type2); - break; - case GI_TYPE_TAG_ERROR: - size += sizeof (ErrorTypeBlob); - break; - default: - g_error ("Unknown type tag %d", type->tag); - break; - } - } + switch (type->tag) + { + case GI_TYPE_TAG_ARRAY: + size = sizeof (ArrayTypeBlob); + if (type->parameter_type1) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); + break; + case GI_TYPE_TAG_INTERFACE: + size += sizeof (InterfaceTypeBlob); + break; + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + size += sizeof (ParamTypeBlob); + if (type->parameter_type1) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); + break; + case GI_TYPE_TAG_GHASH: + size += sizeof (ParamTypeBlob) * 2; + if (type->parameter_type1) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type1); + if (type->parameter_type2) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)type->parameter_type2); + break; + case GI_TYPE_TAG_ERROR: + size += sizeof (ErrorTypeBlob); + break; + default: + g_error ("Unknown type tag %d", type->tag); + break; + } + } } break; case GI_IR_NODE_OBJECT: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - n = g_list_length (iface->interfaces); - size = sizeof(ObjectBlob); - if (iface->parent) - size += ALIGN_VALUE (strlen (iface->parent) + 1, 4); + n = g_list_length (iface->interfaces); + size = sizeof(ObjectBlob); + if (iface->parent) + size += ALIGN_VALUE (strlen (iface->parent) + 1, 4); if (iface->glib_type_struct) size += ALIGN_VALUE (strlen (iface->glib_type_struct) + 1, 4); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += ALIGN_VALUE (strlen (iface->gtype_name) + 1, 4); - if (iface->gtype_init) - size += ALIGN_VALUE (strlen (iface->gtype_init) + 1, 4); - if (iface->ref_func) - size += ALIGN_VALUE (strlen (iface->ref_func) + 1, 4); - if (iface->unref_func) - size += ALIGN_VALUE (strlen (iface->unref_func) + 1, 4); - if (iface->set_value_func) - size += ALIGN_VALUE (strlen (iface->set_value_func) + 1, 4); - if (iface->get_value_func) - size += ALIGN_VALUE (strlen (iface->get_value_func) + 1, 4); - size += 2 * (n + (n % 2)); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += ALIGN_VALUE (strlen (iface->gtype_name) + 1, 4); + if (iface->gtype_init) + size += ALIGN_VALUE (strlen (iface->gtype_init) + 1, 4); + if (iface->ref_func) + size += ALIGN_VALUE (strlen (iface->ref_func) + 1, 4); + if (iface->unref_func) + size += ALIGN_VALUE (strlen (iface->unref_func) + 1, 4); + if (iface->set_value_func) + size += ALIGN_VALUE (strlen (iface->set_value_func) + 1, 4); + if (iface->get_value_func) + size += ALIGN_VALUE (strlen (iface->get_value_func) + 1, 4); + size += 2 * (n + (n % 2)); - for (l = iface->members; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + for (l = iface->members; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - n = g_list_length (iface->prerequisites); - size = sizeof (InterfaceBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += ALIGN_VALUE (strlen (iface->gtype_name) + 1, 4); - size += ALIGN_VALUE (strlen (iface->gtype_init) + 1, 4); - size += 2 * (n + (n % 2)); + n = g_list_length (iface->prerequisites); + size = sizeof (InterfaceBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += ALIGN_VALUE (strlen (iface->gtype_name) + 1, 4); + size += ALIGN_VALUE (strlen (iface->gtype_init) + 1, 4); + size += 2 * (n + (n % 2)); - for (l = iface->members; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + for (l = iface->members; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; + GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; - size = sizeof (EnumBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - if (enum_->gtype_name) - { - size += ALIGN_VALUE (strlen (enum_->gtype_name) + 1, 4); - size += ALIGN_VALUE (strlen (enum_->gtype_init) + 1, 4); - } - if (enum_->error_domain) - size += ALIGN_VALUE (strlen (enum_->error_domain) + 1, 4); + size = sizeof (EnumBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + if (enum_->gtype_name) + { + size += ALIGN_VALUE (strlen (enum_->gtype_name) + 1, 4); + size += ALIGN_VALUE (strlen (enum_->gtype_init) + 1, 4); + } + if (enum_->error_domain) + size += ALIGN_VALUE (strlen (enum_->error_domain) + 1, 4); - for (l = enum_->values; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - for (l = enum_->methods; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + for (l = enum_->values; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + for (l = enum_->methods; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; case GI_IR_NODE_VALUE: { - size = sizeof (ValueBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size = sizeof (ValueBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); } break; case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - size = sizeof (StructBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - if (struct_->gtype_name) - size += ALIGN_VALUE (strlen (struct_->gtype_name) + 1, 4); - if (struct_->gtype_init) - size += ALIGN_VALUE (strlen (struct_->gtype_init) + 1, 4); - if (struct_->copy_func) - size += ALIGN_VALUE (strlen (struct_->copy_func) + 1, 4); - if (struct_->free_func) - size += ALIGN_VALUE (strlen (struct_->free_func) + 1, 4); - for (l = struct_->members; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size = sizeof (StructBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + if (struct_->gtype_name) + size += ALIGN_VALUE (strlen (struct_->gtype_name) + 1, 4); + if (struct_->gtype_init) + size += ALIGN_VALUE (strlen (struct_->gtype_init) + 1, 4); + if (struct_->copy_func) + size += ALIGN_VALUE (strlen (struct_->copy_func) + 1, 4); + if (struct_->free_func) + size += ALIGN_VALUE (strlen (struct_->free_func) + 1, 4); + for (l = struct_->members; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - size = sizeof (StructBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - if (boxed->gtype_name) - { - size += ALIGN_VALUE (strlen (boxed->gtype_name) + 1, 4); - size += ALIGN_VALUE (strlen (boxed->gtype_init) + 1, 4); - } - for (l = boxed->members; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size = sizeof (StructBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + if (boxed->gtype_name) + { + size += ALIGN_VALUE (strlen (boxed->gtype_name) + 1, 4); + size += ALIGN_VALUE (strlen (boxed->gtype_init) + 1, 4); + } + for (l = boxed->members; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; case GI_IR_NODE_PROPERTY: { - GIIrNodeProperty *prop = (GIIrNodeProperty *)node; + GIIrNodeProperty *prop = (GIIrNodeProperty *)node; - size = sizeof (PropertyBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)prop->type); + size = sizeof (PropertyBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)prop->type); } break; case GI_IR_NODE_SIGNAL: { - GIIrNodeSignal *signal = (GIIrNodeSignal *)node; + GIIrNodeSignal *signal = (GIIrNodeSignal *)node; - size = sizeof (SignalBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - for (l = signal->parameters; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)signal->result); + size = sizeof (SignalBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + for (l = signal->parameters; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)signal->result); } break; case GI_IR_NODE_VFUNC: { - GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; + GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; - size = sizeof (VFuncBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - for (l = vfunc->parameters; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)vfunc->result); + size = sizeof (VFuncBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + for (l = vfunc->parameters; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)vfunc->result); } break; case GI_IR_NODE_FIELD: { - GIIrNodeField *field = (GIIrNodeField *)node; + GIIrNodeField *field = (GIIrNodeField *)node; - size = sizeof (FieldBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - if (field->callback) + size = sizeof (FieldBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + if (field->callback) size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)field->callback); - else + else size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)field->type); } break; case GI_IR_NODE_CONSTANT: { - GIIrNodeConstant *constant = (GIIrNodeConstant *)node; + GIIrNodeConstant *constant = (GIIrNodeConstant *)node; - size = sizeof (ConstantBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - /* FIXME non-string values */ - size += ALIGN_VALUE (strlen (constant->value) + 1, 4); - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)constant->type); + size = sizeof (ConstantBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + /* FIXME non-string values */ + size += ALIGN_VALUE (strlen (constant->value) + 1, 4); + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)constant->type); } break; case GI_IR_NODE_XREF: { - GIIrNodeXRef *xref = (GIIrNodeXRef *)node; + GIIrNodeXRef *xref = (GIIrNodeXRef *)node; - size = 0; - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += ALIGN_VALUE (strlen (xref->namespace) + 1, 4); + size = 0; + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + size += ALIGN_VALUE (strlen (xref->namespace) + 1, 4); } break; case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - size = sizeof (UnionBlob); - size += ALIGN_VALUE (strlen (node->name) + 1, 4); - if (union_->gtype_name) - size += ALIGN_VALUE (strlen (union_->gtype_name) + 1, 4); - if (union_->gtype_init) - size += ALIGN_VALUE (strlen (union_->gtype_init) + 1, 4); - if (union_->copy_func) - size += ALIGN_VALUE (strlen (union_->copy_func) + 1, 4); - if (union_->free_func) - size += ALIGN_VALUE (strlen (union_->free_func) + 1, 4); - for (l = union_->members; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); - for (l = union_->discriminators; l; l = l->next) - size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + size = sizeof (UnionBlob); + size += ALIGN_VALUE (strlen (node->name) + 1, 4); + if (union_->gtype_name) + size += ALIGN_VALUE (strlen (union_->gtype_name) + 1, 4); + if (union_->gtype_init) + size += ALIGN_VALUE (strlen (union_->gtype_init) + 1, 4); + if (union_->copy_func) + size += ALIGN_VALUE (strlen (union_->copy_func) + 1, 4); + if (union_->free_func) + size += ALIGN_VALUE (strlen (union_->free_func) + 1, 4); + for (l = union_->members; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); + for (l = union_->discriminators; l; l = l->next) + size += gi_ir_node_get_full_size_internal (node, (GIIrNode *)l->data); } break; @@ -883,10 +883,10 @@ gi_ir_node_get_full_size_internal (GIIrNode *parent, } g_debug ("node %s%s%s%p type '%s' full size %d", - node->name ? "'" : "", - node->name ? node->name : "", - node->name ? "' " : "", - node, gi_ir_node_type_to_string (node->type), size); + node->name ? "'" : "", + node->name ? node->name : "", + node->name ? "' " : "", + node, gi_ir_node_type_to_string (node->type), size); g_hash_table_foreach (node->attributes, add_attribute_size, &size); @@ -959,39 +959,39 @@ gi_ir_node_add_member (GIIrNode *node, case GI_IR_NODE_OBJECT: case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - iface->members = - g_list_insert_sorted (iface->members, member, - (GCompareFunc) gi_ir_node_cmp); - break; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + iface->members = + g_list_insert_sorted (iface->members, member, + (GCompareFunc) gi_ir_node_cmp); + break; } case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - boxed->members = - g_list_insert_sorted (boxed->members, member, - (GCompareFunc) gi_ir_node_cmp); - break; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + boxed->members = + g_list_insert_sorted (boxed->members, member, + (GCompareFunc) gi_ir_node_cmp); + break; } case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - struct_->members = - g_list_insert_sorted (struct_->members, member, - (GCompareFunc) gi_ir_node_cmp); - break; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + struct_->members = + g_list_insert_sorted (struct_->members, member, + (GCompareFunc) gi_ir_node_cmp); + break; } case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - union_->members = - g_list_insert_sorted (union_->members, member, - (GCompareFunc) gi_ir_node_cmp); - break; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + union_->members = + g_list_insert_sorted (union_->members, member, + (GCompareFunc) gi_ir_node_cmp); + break; } default: g_error ("Cannot add a member to unknown type tag type %d", - node->type); + node->type); break; } } @@ -1002,9 +1002,9 @@ gi_ir_node_param_direction_string (GIIrNodeParam * node) if (node->out) { if (node->in) - return "in-out"; + return "in-out"; else - return "out"; + return "out"; } return "in"; } @@ -1065,23 +1065,23 @@ find_entry_node (GIIrTypelibBuild *build, GIIrNode *node = (GIIrNode *)l->data; if (n_names > 1) - { - if (node->type != GI_IR_NODE_XREF) - continue; + { + if (node->type != GI_IR_NODE_XREF) + continue; - if (((GIIrNodeXRef *)node)->namespace == NULL || - strcmp (((GIIrNodeXRef *)node)->namespace, names[0]) != 0) - continue; - } + if (((GIIrNodeXRef *)node)->namespace == NULL || + strcmp (((GIIrNodeXRef *)node)->namespace, names[0]) != 0) + continue; + } if (strcmp (node->name, names[n_names - 1]) == 0) - { - if (idx) - *idx = i; + { + if (idx) + *idx = i; - result = node; - goto out; - } + result = node; + goto out; + } } if (n_names > 1) @@ -1094,7 +1094,7 @@ find_entry_node (GIIrTypelibBuild *build, module->entries = g_list_append (module->entries, node); if (idx) - *idx = g_list_length (module->entries); + *idx = g_list_length (module->entries); result = node; @@ -1179,10 +1179,10 @@ gi_ir_find_node (GIIrTypelibBuild *build, GIIrNode *node = (GIIrNode *)l->data; if (strcmp (node->name, target_name) == 0) - { - return_node = node; - break; - } + { + return_node = node; + break; + } } done: @@ -1225,48 +1225,48 @@ serialize_type (GIIrTypelibBuild *build, if (GI_TYPE_TAG_IS_BASIC (node->tag)) { g_string_append_printf (str, "%s%s", gi_type_tag_to_string (node->tag), - node->is_pointer ? "*" : ""); + node->is_pointer ? "*" : ""); } else if (node->tag == GI_TYPE_TAG_ARRAY) { if (node->array_type == GI_ARRAY_TYPE_C) - { - serialize_type (build, node->parameter_type1, str); - g_string_append (str, "["); + { + serialize_type (build, node->parameter_type1, str); + g_string_append (str, "["); - if (node->has_length) - g_string_append_printf (str, "length=%d", node->length); - else if (node->has_size) - g_string_append_printf (str, "fixed-size=%d", node->size); + if (node->has_length) + g_string_append_printf (str, "length=%d", node->length); + else if (node->has_size) + g_string_append_printf (str, "fixed-size=%d", node->size); - if (node->zero_terminated) - g_string_append_printf (str, "%szero-terminated=1", - node->has_length ? "," : ""); + if (node->zero_terminated) + g_string_append_printf (str, "%szero-terminated=1", + node->has_length ? "," : ""); - g_string_append (str, "]"); - if (node->is_pointer) - g_string_append (str, "*"); - } + g_string_append (str, "]"); + if (node->is_pointer) + g_string_append (str, "*"); + } else if (node->array_type == GI_ARRAY_TYPE_BYTE_ARRAY) - { - /* We on purpose skip serializing parameter_type1, which should - always be void* - */ - g_string_append (str, "GByteArray"); - } + { + /* We on purpose skip serializing parameter_type1, which should + always be void* + */ + g_string_append (str, "GByteArray"); + } else - { - if (node->array_type == GI_ARRAY_TYPE_ARRAY) - g_string_append (str, "GArray"); - else - g_string_append (str, "GPtrArray"); - if (node->parameter_type1) - { - g_string_append (str, "<"); - serialize_type (build, node->parameter_type1, str); - g_string_append (str, ">"); - } - } + { + if (node->array_type == GI_ARRAY_TYPE_ARRAY) + g_string_append (str, "GArray"); + else + g_string_append (str, "GPtrArray"); + if (node->parameter_type1) + { + g_string_append (str, "<"); + serialize_type (build, node->parameter_type1, str); + g_string_append (str, ">"); + } + } } else if (node->tag == GI_TYPE_TAG_INTERFACE) { @@ -1281,60 +1281,60 @@ serialize_type (GIIrTypelibBuild *build, name = iface->name; } else - { - g_warning ("Interface for type reference %s not found", node->giinterface); - name = node->giinterface; - } + { + g_warning ("Interface for type reference %s not found", node->giinterface); + name = node->giinterface; + } g_string_append_printf (str, "%s%s", name, - node->is_pointer ? "*" : ""); + node->is_pointer ? "*" : ""); } else if (node->tag == GI_TYPE_TAG_GLIST) { g_string_append (str, "GList"); if (node->parameter_type1) - { - g_string_append (str, "<"); - serialize_type (build, node->parameter_type1, str); - g_string_append (str, ">"); - } + { + g_string_append (str, "<"); + serialize_type (build, node->parameter_type1, str); + g_string_append (str, ">"); + } } else if (node->tag == GI_TYPE_TAG_GSLIST) { g_string_append (str, "GSList"); if (node->parameter_type1) - { - g_string_append (str, "<"); - serialize_type (build, node->parameter_type1, str); - g_string_append (str, ">"); - } + { + g_string_append (str, "<"); + serialize_type (build, node->parameter_type1, str); + g_string_append (str, ">"); + } } else if (node->tag == GI_TYPE_TAG_GHASH) { g_string_append (str, "GHashTable"); if (node->parameter_type1) - { - g_string_append (str, "<"); - serialize_type (build, node->parameter_type1, str); - g_string_append (str, ","); - serialize_type (build, node->parameter_type2, str); - g_string_append (str, ">"); - } + { + g_string_append (str, "<"); + serialize_type (build, node->parameter_type1, str); + g_string_append (str, ","); + serialize_type (build, node->parameter_type2, str); + g_string_append (str, ">"); + } } else if (node->tag == GI_TYPE_TAG_ERROR) { g_string_append (str, "GError"); if (node->errors) - { - g_string_append (str, "<"); - for (i = 0; node->errors[i]; i++) - { - if (i > 0) - g_string_append (str, ","); - g_string_append (str, node->errors[i]); - } - g_string_append (str, ">"); - } + { + g_string_append (str, "<"); + for (i = 0; node->errors[i]; i++) + { + if (i > 0) + g_string_append (str, ","); + g_string_append (str, node->errors[i]); + } + g_string_append (str, ">"); + } } } @@ -1356,11 +1356,11 @@ gi_ir_node_build_members (GList **members, GList *next = l->next; if (member->type == type) - { - (*count)++; - gi_ir_node_build_typelib (member, parent, build, offset, offset2, count2); - *members = g_list_delete_link (*members, l); - } + { + (*count)++; + gi_ir_node_build_typelib (member, parent, build, offset, offset2, count2); + *members = g_list_delete_link (*members, l); + } l = next; } } @@ -1375,13 +1375,13 @@ gi_ir_node_check_unhandled_members (GList **members, GList *l; for (l = *members; l; l = l->next) - { - GIIrNode *member = (GIIrNode *)l->data; - g_printerr ("Unhandled '%s' member '%s' type '%s'\n", - gi_ir_node_type_to_string (container_type), - member->name, - gi_ir_node_type_to_string (member->type)); - } + { + GIIrNode *member = (GIIrNode *)l->data; + g_printerr ("Unhandled '%s' member '%s' type '%s'\n", + gi_ir_node_type_to_string (container_type), + member->name, + gi_ir_node_type_to_string (member->type)); + } g_list_free (*members); *members = NULL; @@ -1413,9 +1413,9 @@ gi_ir_node_build_typelib (GIIrNode *node, g_assert (node != NULL); g_debug ("build_typelib: %s%s(%s)", - node->name ? node->name : "", - node->name ? " " : "", - gi_ir_node_type_to_string (node->type)); + node->name ? node->name : "", + node->name ? " " : "", + gi_ir_node_type_to_string (node->type)); if (build->stack) appended_stack = node != (GIIrNode*)build->stack->data; @@ -1439,57 +1439,57 @@ gi_ir_node_build_typelib (GIIrNode *node, { case GI_IR_NODE_TYPE: { - GIIrNodeType *type = (GIIrNodeType *)node; - SimpleTypeBlob *blob = (SimpleTypeBlob *)&data[*offset]; + GIIrNodeType *type = (GIIrNodeType *)node; + SimpleTypeBlob *blob = (SimpleTypeBlob *)&data[*offset]; - *offset += sizeof (SimpleTypeBlob); + *offset += sizeof (SimpleTypeBlob); - if (GI_TYPE_TAG_IS_BASIC (type->tag)) - { - blob->flags.reserved = 0; - blob->flags.reserved2 = 0; - blob->flags.pointer = type->is_pointer; - blob->flags.reserved3 = 0; - blob->flags.tag = type->tag; - } - else - { - GString *str; - gchar *s; - gpointer value; + if (GI_TYPE_TAG_IS_BASIC (type->tag)) + { + blob->flags.reserved = 0; + blob->flags.reserved2 = 0; + blob->flags.pointer = type->is_pointer; + blob->flags.reserved3 = 0; + blob->flags.tag = type->tag; + } + else + { + GString *str; + gchar *s; + gpointer value; - str = g_string_new (0); - serialize_type (build, type, str); - s = g_string_free (str, FALSE); + str = g_string_new (0); + serialize_type (build, type, str); + s = g_string_free (str, FALSE); - types_count += 1; - value = g_hash_table_lookup (types, s); - if (value) - { - blob->offset = GPOINTER_TO_UINT (value); - g_free (s); - } - else - { - unique_types_count += 1; - g_hash_table_insert (types, s, GUINT_TO_POINTER(*offset2)); + types_count += 1; + value = g_hash_table_lookup (types, s); + if (value) + { + blob->offset = GPOINTER_TO_UINT (value); + g_free (s); + } + else + { + unique_types_count += 1; + g_hash_table_insert (types, s, GUINT_TO_POINTER(*offset2)); - blob->offset = *offset2; - switch (type->tag) - { - case GI_TYPE_TAG_ARRAY: - { - ArrayTypeBlob *array = (ArrayTypeBlob *)&data[*offset2]; - guint32 pos; + blob->offset = *offset2; + switch (type->tag) + { + case GI_TYPE_TAG_ARRAY: + { + ArrayTypeBlob *array = (ArrayTypeBlob *)&data[*offset2]; + guint32 pos; - array->pointer = type->is_pointer; - array->reserved = 0; - array->tag = type->tag; - array->zero_terminated = type->zero_terminated; - array->has_length = type->has_length; + array->pointer = type->is_pointer; + array->reserved = 0; + array->tag = type->tag; + array->zero_terminated = type->zero_terminated; + array->has_length = type->has_length; array->has_size = type->has_size; array->array_type = type->array_type; - array->reserved2 = 0; + array->reserved2 = 0; if (array->has_length) array->dimensions.length = type->length; else if (array->has_size) @@ -1497,114 +1497,114 @@ gi_ir_node_build_typelib (GIIrNode *node, else array->dimensions.length = -1; - pos = *offset2 + G_STRUCT_OFFSET (ArrayTypeBlob, type); - *offset2 += sizeof (ArrayTypeBlob); + pos = *offset2 + G_STRUCT_OFFSET (ArrayTypeBlob, type); + *offset2 += sizeof (ArrayTypeBlob); - gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, + gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, node, build, &pos, offset2, NULL); - } - break; + } + break; - case GI_TYPE_TAG_INTERFACE: - { - InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&data[*offset2]; - *offset2 += sizeof (InterfaceTypeBlob); + case GI_TYPE_TAG_INTERFACE: + { + InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&data[*offset2]; + *offset2 += sizeof (InterfaceTypeBlob); - iface->pointer = type->is_pointer; - iface->reserved = 0; - iface->tag = type->tag; - iface->reserved2 = 0; - iface->interface = find_entry (build, type->giinterface); + iface->pointer = type->is_pointer; + iface->reserved = 0; + iface->tag = type->tag; + iface->reserved2 = 0; + iface->interface = find_entry (build, type->giinterface); - } - break; + } + break; - case GI_TYPE_TAG_GLIST: - case GI_TYPE_TAG_GSLIST: - { - ParamTypeBlob *param = (ParamTypeBlob *)&data[*offset2]; - guint32 pos; + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + { + ParamTypeBlob *param = (ParamTypeBlob *)&data[*offset2]; + guint32 pos; - param->pointer = 1; - param->reserved = 0; - param->tag = type->tag; - param->reserved2 = 0; - param->n_types = 1; + param->pointer = 1; + param->reserved = 0; + param->tag = type->tag; + param->reserved2 = 0; + param->n_types = 1; - pos = *offset2 + G_STRUCT_OFFSET (ParamTypeBlob, type); - *offset2 += sizeof (ParamTypeBlob) + sizeof (SimpleTypeBlob); + pos = *offset2 + G_STRUCT_OFFSET (ParamTypeBlob, type); + *offset2 += sizeof (ParamTypeBlob) + sizeof (SimpleTypeBlob); - gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, + gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, node, build, &pos, offset2, NULL); - } - break; + } + break; - case GI_TYPE_TAG_GHASH: - { - ParamTypeBlob *param = (ParamTypeBlob *)&data[*offset2]; - guint32 pos; + case GI_TYPE_TAG_GHASH: + { + ParamTypeBlob *param = (ParamTypeBlob *)&data[*offset2]; + guint32 pos; - param->pointer = 1; - param->reserved = 0; - param->tag = type->tag; - param->reserved2 = 0; - param->n_types = 2; + param->pointer = 1; + param->reserved = 0; + param->tag = type->tag; + param->reserved2 = 0; + param->n_types = 2; - pos = *offset2 + G_STRUCT_OFFSET (ParamTypeBlob, type); - *offset2 += sizeof (ParamTypeBlob) + sizeof (SimpleTypeBlob)*2; + pos = *offset2 + G_STRUCT_OFFSET (ParamTypeBlob, type); + *offset2 += sizeof (ParamTypeBlob) + sizeof (SimpleTypeBlob)*2; - gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, + gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type1, node, build, &pos, offset2, NULL); - gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type2, + gi_ir_node_build_typelib ((GIIrNode *)type->parameter_type2, node, build, &pos, offset2, NULL); - } - break; + } + break; - case GI_TYPE_TAG_ERROR: - { - ErrorTypeBlob *error_blob = (ErrorTypeBlob *)&data[*offset2]; + case GI_TYPE_TAG_ERROR: + { + ErrorTypeBlob *error_blob = (ErrorTypeBlob *)&data[*offset2]; - error_blob->pointer = 1; - error_blob->reserved = 0; - error_blob->tag = type->tag; - error_blob->reserved2 = 0; - error_blob->n_domains = 0; + error_blob->pointer = 1; + error_blob->reserved = 0; + error_blob->tag = type->tag; + error_blob->reserved2 = 0; + error_blob->n_domains = 0; - *offset2 += sizeof (ErrorTypeBlob); - } - break; + *offset2 += sizeof (ErrorTypeBlob); + } + break; - default: - g_error ("Unknown type tag %d", type->tag); - break; - } - } - } + default: + g_error ("Unknown type tag %d", type->tag); + break; + } + } + } } break; case GI_IR_NODE_FIELD: { - GIIrNodeField *field = (GIIrNodeField *)node; - FieldBlob *blob; + GIIrNodeField *field = (GIIrNodeField *)node; + FieldBlob *blob; - blob = (FieldBlob *)&data[*offset]; + blob = (FieldBlob *)&data[*offset]; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->readable = field->readable; - blob->writable = field->writable; - blob->reserved = 0; - blob->bits = 0; - if (field->offset >= 0) - blob->struct_offset = field->offset; - else - blob->struct_offset = 0xFFFF; /* mark as unknown */ + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->readable = field->readable; + blob->writable = field->writable; + blob->reserved = 0; + blob->bits = 0; + if (field->offset >= 0) + blob->struct_offset = field->offset; + else + blob->struct_offset = 0xFFFF; /* mark as unknown */ if (field->callback) { blob->has_embedded_type = TRUE; blob->type.offset = GI_INFO_TYPE_CALLBACK; - *offset += sizeof (FieldBlob); + *offset += sizeof (FieldBlob); gi_ir_node_build_typelib ((GIIrNode *)field->callback, node, build, offset, offset2, NULL); /* Fields with callbacks are bigger than normal, update count2 @@ -1619,7 +1619,7 @@ gi_ir_node_build_typelib (GIIrNode *node, { blob->has_embedded_type = FALSE; /* We handle the size member specially below, so subtract it */ - *offset += sizeof (FieldBlob) - sizeof (SimpleTypeBlob); + *offset += sizeof (FieldBlob) - sizeof (SimpleTypeBlob); gi_ir_node_build_typelib ((GIIrNode *)field->type, node, build, offset, offset2, NULL); } @@ -1628,20 +1628,20 @@ gi_ir_node_build_typelib (GIIrNode *node, case GI_IR_NODE_PROPERTY: { - GIIrNodeProperty *prop = (GIIrNodeProperty *)node; - PropertyBlob *blob = (PropertyBlob *)&data[*offset]; + GIIrNodeProperty *prop = (GIIrNodeProperty *)node; + PropertyBlob *blob = (PropertyBlob *)&data[*offset]; /* We handle the size member specially below, so subtract it */ - *offset += sizeof (PropertyBlob) - sizeof (SimpleTypeBlob); + *offset += sizeof (PropertyBlob) - sizeof (SimpleTypeBlob); - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->deprecated = prop->deprecated; - blob->readable = prop->readable; - blob->writable = prop->writable; - blob->construct = prop->construct; - blob->construct_only = prop->construct_only; - blob->transfer_ownership = prop->transfer; - blob->transfer_container_ownership = prop->shallow_transfer; - blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->deprecated = prop->deprecated; + blob->readable = prop->readable; + blob->writable = prop->writable; + blob->construct = prop->construct; + blob->construct_only = prop->construct_only; + blob->transfer_ownership = prop->transfer; + blob->transfer_container_ownership = prop->shallow_transfer; + blob->reserved = 0; if (prop->setter != NULL) { @@ -1680,30 +1680,30 @@ gi_ir_node_build_typelib (GIIrNode *node, case GI_IR_NODE_FUNCTION: { - FunctionBlob *blob = (FunctionBlob *)&data[*offset]; - SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIIrNodeFunction *function = (GIIrNodeFunction *)node; - guint32 signature; - gint n; + FunctionBlob *blob = (FunctionBlob *)&data[*offset]; + SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; + GIIrNodeFunction *function = (GIIrNodeFunction *)node; + guint32 signature; + gint n; - signature = *offset2; - n = g_list_length (function->parameters); + signature = *offset2; + n = g_list_length (function->parameters); - *offset += sizeof (FunctionBlob); - *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); + *offset += sizeof (FunctionBlob); + *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); - blob->blob_type = BLOB_TYPE_FUNCTION; - blob->deprecated = function->deprecated; + blob->blob_type = BLOB_TYPE_FUNCTION; + blob->deprecated = function->deprecated; blob->is_static = !function->is_method; - blob->setter = FALSE; - blob->getter = FALSE; - blob->constructor = function->is_constructor; - blob->wraps_vfunc = function->wraps_vfunc; - blob->throws = function->throws; /* Deprecated. Also stored in SignatureBlob. */ - blob->index = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->symbol = gi_ir_write_string (function->symbol, strings, data, offset2); - blob->signature = signature; + blob->setter = FALSE; + blob->getter = FALSE; + blob->constructor = function->is_constructor; + blob->wraps_vfunc = function->wraps_vfunc; + blob->throws = function->throws; /* Deprecated. Also stored in SignatureBlob. */ + blob->index = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->symbol = gi_ir_write_string (function->symbol, strings, data, offset2); + blob->signature = signature; if (function->is_setter || function->is_getter) { @@ -1728,101 +1728,101 @@ gi_ir_node_build_typelib (GIIrNode *node, g_assert (((GIIrNode *) function->result)->offset == 0); ((GIIrNode *) function->result)->offset = signature; - g_debug ("building function '%s'", function->symbol); + g_debug ("building function '%s'", function->symbol); gi_ir_node_build_typelib ((GIIrNode *)function->result->type, node, build, &signature, offset2, NULL); - blob2->may_return_null = function->result->nullable; - blob2->caller_owns_return_value = function->result->transfer; - blob2->caller_owns_return_container = function->result->shallow_transfer; - blob2->skip_return = function->result->skip; + blob2->may_return_null = function->result->nullable; + blob2->caller_owns_return_value = function->result->transfer; + blob2->caller_owns_return_container = function->result->shallow_transfer; + blob2->skip_return = function->result->skip; blob2->instance_transfer_ownership = function->instance_transfer_full; - blob2->reserved = 0; - blob2->n_arguments = n; - blob2->throws = function->throws; + blob2->reserved = 0; + blob2->n_arguments = n; + blob2->throws = function->throws; - signature += 4; + signature += 4; - for (l = function->parameters; l; l = l->next) - { - GIIrNode *param = (GIIrNode *)l->data; + for (l = function->parameters; l; l = l->next) + { + GIIrNode *param = (GIIrNode *)l->data; - gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); - } + gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); + } } break; case GI_IR_NODE_CALLBACK: { - CallbackBlob *blob = (CallbackBlob *)&data[*offset]; - SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIIrNodeFunction *function = (GIIrNodeFunction *)node; - guint32 signature; - gint n; + CallbackBlob *blob = (CallbackBlob *)&data[*offset]; + SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; + GIIrNodeFunction *function = (GIIrNodeFunction *)node; + guint32 signature; + gint n; - signature = *offset2; - n = g_list_length (function->parameters); + signature = *offset2; + n = g_list_length (function->parameters); - *offset += sizeof (CallbackBlob); - *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); + *offset += sizeof (CallbackBlob); + *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); - blob->blob_type = BLOB_TYPE_CALLBACK; - blob->deprecated = function->deprecated; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->signature = signature; + blob->blob_type = BLOB_TYPE_CALLBACK; + blob->deprecated = function->deprecated; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->signature = signature; gi_ir_node_build_typelib ((GIIrNode *)function->result->type, node, build, &signature, offset2, NULL); - blob2->may_return_null = function->result->nullable; - blob2->caller_owns_return_value = function->result->transfer; - blob2->caller_owns_return_container = function->result->shallow_transfer; - blob2->reserved = 0; - blob2->n_arguments = n; - blob2->throws = function->throws; + blob2->may_return_null = function->result->nullable; + blob2->caller_owns_return_value = function->result->transfer; + blob2->caller_owns_return_container = function->result->shallow_transfer; + blob2->reserved = 0; + blob2->n_arguments = n; + blob2->throws = function->throws; - signature += 4; + signature += 4; - for (l = function->parameters; l; l = l->next) - { - GIIrNode *param = (GIIrNode *)l->data; + for (l = function->parameters; l; l = l->next) + { + GIIrNode *param = (GIIrNode *)l->data; - gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); - } + gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); + } } break; case GI_IR_NODE_SIGNAL: { - SignalBlob *blob = (SignalBlob *)&data[*offset]; - SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIIrNodeSignal *signal = (GIIrNodeSignal *)node; - guint32 signature; - gint n; + SignalBlob *blob = (SignalBlob *)&data[*offset]; + SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; + GIIrNodeSignal *signal = (GIIrNodeSignal *)node; + guint32 signature; + gint n; - signature = *offset2; - n = g_list_length (signal->parameters); + signature = *offset2; + n = g_list_length (signal->parameters); - *offset += sizeof (SignalBlob); - *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); + *offset += sizeof (SignalBlob); + *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); - blob->deprecated = signal->deprecated; - blob->run_first = signal->run_first; - blob->run_last = signal->run_last; - blob->run_cleanup = signal->run_cleanup; - blob->no_recurse = signal->no_recurse; - blob->detailed = signal->detailed; - blob->action = signal->action; - blob->no_hooks = signal->no_hooks; - blob->has_class_closure = 0; /* FIXME */ - blob->true_stops_emit = 0; /* FIXME */ - blob->reserved = 0; - blob->class_closure = 0; /* FIXME */ - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->signature = signature; + blob->deprecated = signal->deprecated; + blob->run_first = signal->run_first; + blob->run_last = signal->run_last; + blob->run_cleanup = signal->run_cleanup; + blob->no_recurse = signal->no_recurse; + blob->detailed = signal->detailed; + blob->action = signal->action; + blob->no_hooks = signal->no_hooks; + blob->has_class_closure = 0; /* FIXME */ + blob->true_stops_emit = 0; /* FIXME */ + blob->reserved = 0; + blob->class_closure = 0; /* FIXME */ + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->signature = signature; /* signal->result is special since it doesn't appear in the serialized format but * we do want the attributes for it to appear @@ -1835,106 +1835,106 @@ gi_ir_node_build_typelib (GIIrNode *node, gi_ir_node_build_typelib ((GIIrNode *)signal->result->type, node, build, &signature, offset2, NULL); - blob2->may_return_null = signal->result->nullable; - blob2->caller_owns_return_value = signal->result->transfer; - blob2->caller_owns_return_container = signal->result->shallow_transfer; + blob2->may_return_null = signal->result->nullable; + blob2->caller_owns_return_value = signal->result->transfer; + blob2->caller_owns_return_container = signal->result->shallow_transfer; blob2->instance_transfer_ownership = signal->instance_transfer_full; - blob2->reserved = 0; - blob2->n_arguments = n; + blob2->reserved = 0; + blob2->n_arguments = n; - signature += 4; + signature += 4; - for (l = signal->parameters; l; l = l->next) - { - GIIrNode *param = (GIIrNode *)l->data; + for (l = signal->parameters; l; l = l->next) + { + GIIrNode *param = (GIIrNode *)l->data; - gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); - } + gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); + } } break; case GI_IR_NODE_VFUNC: { - VFuncBlob *blob = (VFuncBlob *)&data[*offset]; - SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; - guint32 signature; - gint n; + VFuncBlob *blob = (VFuncBlob *)&data[*offset]; + SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; + GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)node; + guint32 signature; + gint n; - signature = *offset2; - n = g_list_length (vfunc->parameters); + signature = *offset2; + n = g_list_length (vfunc->parameters); - *offset += sizeof (VFuncBlob); - *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); + *offset += sizeof (VFuncBlob); + *offset2 += sizeof (SignatureBlob) + n * sizeof (ArgBlob); - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->must_chain_up = 0; /* FIXME */ - blob->must_be_implemented = 0; /* FIXME */ - blob->must_not_be_implemented = 0; /* FIXME */ - blob->class_closure = 0; /* FIXME */ - blob->throws = vfunc->throws; /* Deprecated. Also stored in SignatureBlob. */ - blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->must_chain_up = 0; /* FIXME */ + blob->must_be_implemented = 0; /* FIXME */ + blob->must_not_be_implemented = 0; /* FIXME */ + blob->class_closure = 0; /* FIXME */ + blob->throws = vfunc->throws; /* Deprecated. Also stored in SignatureBlob. */ + blob->reserved = 0; - if (vfunc->invoker) - { - int index = get_index_of_member_type ((GIIrNodeInterface*)parent, GI_IR_NODE_FUNCTION, vfunc->invoker); - if (index == -1) - { - g_error ("Unknown member function %s for vfunc %s", vfunc->invoker, node->name); - } + if (vfunc->invoker) + { + int index = get_index_of_member_type ((GIIrNodeInterface*)parent, GI_IR_NODE_FUNCTION, vfunc->invoker); + if (index == -1) + { + g_error ("Unknown member function %s for vfunc %s", vfunc->invoker, node->name); + } blob->invoker = (guint) index; - } - else - blob->invoker = 0x3ff; /* max of 10 bits */ + } + else + blob->invoker = 0x3ff; /* max of 10 bits */ - blob->struct_offset = vfunc->offset; - blob->reserved2 = 0; - blob->signature = signature; + blob->struct_offset = vfunc->offset; + blob->reserved2 = 0; + blob->signature = signature; gi_ir_node_build_typelib ((GIIrNode *)vfunc->result->type, node, build, &signature, offset2, NULL); - blob2->may_return_null = vfunc->result->nullable; - blob2->caller_owns_return_value = vfunc->result->transfer; - blob2->caller_owns_return_container = vfunc->result->shallow_transfer; + blob2->may_return_null = vfunc->result->nullable; + blob2->caller_owns_return_value = vfunc->result->transfer; + blob2->caller_owns_return_container = vfunc->result->shallow_transfer; blob2->instance_transfer_ownership = vfunc->instance_transfer_full; - blob2->reserved = 0; - blob2->n_arguments = n; - blob2->throws = vfunc->throws; + blob2->reserved = 0; + blob2->n_arguments = n; + blob2->throws = vfunc->throws; - signature += 4; + signature += 4; - for (l = vfunc->parameters; l; l = l->next) - { - GIIrNode *param = (GIIrNode *)l->data; + for (l = vfunc->parameters; l; l = l->next) + { + GIIrNode *param = (GIIrNode *)l->data; - gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); - } + gi_ir_node_build_typelib (param, node, build, &signature, offset2, NULL); + } } break; case GI_IR_NODE_PARAM: { - ArgBlob *blob = (ArgBlob *)&data[*offset]; - GIIrNodeParam *param = (GIIrNodeParam *)node; + ArgBlob *blob = (ArgBlob *)&data[*offset]; + GIIrNodeParam *param = (GIIrNodeParam *)node; - /* The offset for this one is smaller than the struct because - * we recursively build the simple type inline here below. - */ - *offset += sizeof (ArgBlob) - sizeof (SimpleTypeBlob); + /* The offset for this one is smaller than the struct because + * we recursively build the simple type inline here below. + */ + *offset += sizeof (ArgBlob) - sizeof (SimpleTypeBlob); - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->in = param->in; - blob->out = param->out; - blob->caller_allocates = param->caller_allocates; - blob->nullable = param->nullable; - blob->skip = param->skip; - blob->optional = param->optional; - blob->transfer_ownership = param->transfer; - blob->transfer_container_ownership = param->shallow_transfer; - blob->return_value = param->retval; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->in = param->in; + blob->out = param->out; + blob->caller_allocates = param->caller_allocates; + blob->nullable = param->nullable; + blob->skip = param->skip; + blob->optional = param->optional; + blob->transfer_ownership = param->transfer; + blob->transfer_container_ownership = param->shallow_transfer; + blob->return_value = param->retval; blob->scope = param->scope; - blob->reserved = 0; + blob->reserved = 0; blob->closure = param->closure; blob->destroy = param->destroy; @@ -1944,236 +1944,236 @@ gi_ir_node_build_typelib (GIIrNode *node, case GI_IR_NODE_STRUCT: { - StructBlob *blob = (StructBlob *)&data[*offset]; - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - GList *members; + StructBlob *blob = (StructBlob *)&data[*offset]; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + GList *members; - blob->blob_type = BLOB_TYPE_STRUCT; + blob->blob_type = BLOB_TYPE_STRUCT; blob->foreign = struct_->foreign; - blob->deprecated = struct_->deprecated; - blob->is_gtype_struct = struct_->is_gtype_struct; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->alignment = struct_->alignment; - blob->size = struct_->size; + blob->deprecated = struct_->deprecated; + blob->is_gtype_struct = struct_->is_gtype_struct; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->alignment = struct_->alignment; + blob->size = struct_->size; - if (struct_->gtype_name) - { - blob->unregistered = FALSE; - blob->gtype_name = gi_ir_write_string (struct_->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (struct_->gtype_init, strings, data, offset2); - } - else - { - blob->unregistered = TRUE; - blob->gtype_name = 0; - blob->gtype_init = 0; - } + if (struct_->gtype_name) + { + blob->unregistered = FALSE; + blob->gtype_name = gi_ir_write_string (struct_->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (struct_->gtype_init, strings, data, offset2); + } + else + { + blob->unregistered = TRUE; + blob->gtype_name = 0; + blob->gtype_init = 0; + } if (struct_->copy_func) blob->copy_func = gi_ir_write_string (struct_->copy_func, strings, data, offset2); if (struct_->free_func) blob->free_func = gi_ir_write_string (struct_->free_func, strings, data, offset2); - blob->n_fields = 0; - blob->n_methods = 0; + blob->n_fields = 0; + blob->n_methods = 0; - *offset += sizeof (StructBlob); + *offset += sizeof (StructBlob); - members = g_list_copy (struct_->members); + members = g_list_copy (struct_->members); - gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, + gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, node, build, offset, offset2, NULL); - gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, + gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, node, build, offset, offset2, NULL); - gi_ir_node_check_unhandled_members (&members, node->type); + gi_ir_node_check_unhandled_members (&members, node->type); - g_assert (members == NULL); + g_assert (members == NULL); } break; case GI_IR_NODE_BOXED: { - StructBlob *blob = (StructBlob *)&data[*offset]; - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - GList *members; + StructBlob *blob = (StructBlob *)&data[*offset]; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + GList *members; - blob->blob_type = BLOB_TYPE_BOXED; - blob->deprecated = boxed->deprecated; - blob->unregistered = FALSE; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->gtype_name = gi_ir_write_string (boxed->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (boxed->gtype_init, strings, data, offset2); - blob->alignment = boxed->alignment; - blob->size = boxed->size; + blob->blob_type = BLOB_TYPE_BOXED; + blob->deprecated = boxed->deprecated; + blob->unregistered = FALSE; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->gtype_name = gi_ir_write_string (boxed->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (boxed->gtype_init, strings, data, offset2); + blob->alignment = boxed->alignment; + blob->size = boxed->size; - blob->n_fields = 0; - blob->n_methods = 0; + blob->n_fields = 0; + blob->n_methods = 0; - *offset += sizeof (StructBlob); + *offset += sizeof (StructBlob); - members = g_list_copy (boxed->members); + members = g_list_copy (boxed->members); - gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, + gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, node, build, offset, offset2, NULL); - gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, + gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, node, build, offset, offset2, NULL); - gi_ir_node_check_unhandled_members (&members, node->type); + gi_ir_node_check_unhandled_members (&members, node->type); - g_assert (members == NULL); + g_assert (members == NULL); } break; case GI_IR_NODE_UNION: { - UnionBlob *blob = (UnionBlob *)&data[*offset]; - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - GList *members; + UnionBlob *blob = (UnionBlob *)&data[*offset]; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + GList *members; - blob->blob_type = BLOB_TYPE_UNION; - blob->deprecated = union_->deprecated; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->alignment = union_->alignment; - blob->size = union_->size; - if (union_->gtype_name) - { - blob->unregistered = FALSE; - blob->gtype_name = gi_ir_write_string (union_->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (union_->gtype_init, strings, data, offset2); - } - else - { - blob->unregistered = TRUE; - blob->gtype_name = 0; - blob->gtype_init = 0; - } + blob->blob_type = BLOB_TYPE_UNION; + blob->deprecated = union_->deprecated; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->alignment = union_->alignment; + blob->size = union_->size; + if (union_->gtype_name) + { + blob->unregistered = FALSE; + blob->gtype_name = gi_ir_write_string (union_->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (union_->gtype_init, strings, data, offset2); + } + else + { + blob->unregistered = TRUE; + blob->gtype_name = 0; + blob->gtype_init = 0; + } - blob->n_fields = 0; - blob->n_functions = 0; + blob->n_fields = 0; + blob->n_functions = 0; - blob->discriminator_offset = union_->discriminator_offset; + blob->discriminator_offset = union_->discriminator_offset; if (union_->copy_func) blob->copy_func = gi_ir_write_string (union_->copy_func, strings, data, offset2); if (union_->free_func) blob->free_func = gi_ir_write_string (union_->free_func, strings, data, offset2); - /* We don't support Union discriminators right now. */ - /* - if (union_->discriminator_type) - { - *offset += 28; - blob->discriminated = TRUE; - gi_ir_node_build_typelib ((GIIrNode *)union_->discriminator_type, + /* We don't support Union discriminators right now. */ + /* + if (union_->discriminator_type) + { + *offset += 28; + blob->discriminated = TRUE; + gi_ir_node_build_typelib ((GIIrNode *)union_->discriminator_type, build, offset, offset2, NULL); - } - else - { + } + else + { */ - *offset += sizeof (UnionBlob); - blob->discriminated = FALSE; - blob->discriminator_type.offset = 0; + *offset += sizeof (UnionBlob); + blob->discriminated = FALSE; + blob->discriminator_type.offset = 0; - members = g_list_copy (union_->members); + members = g_list_copy (union_->members); - gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, + gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, node, build, offset, offset2, NULL); - gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_functions, + gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_functions, node, build, offset, offset2, NULL); - gi_ir_node_check_unhandled_members (&members, node->type); + gi_ir_node_check_unhandled_members (&members, node->type); - g_assert (members == NULL); + g_assert (members == NULL); - if (union_->discriminator_type) - { - for (l = union_->discriminators; l; l = l->next) - { - GIIrNode *member = (GIIrNode *)l->data; + if (union_->discriminator_type) + { + for (l = union_->discriminators; l; l = l->next) + { + GIIrNode *member = (GIIrNode *)l->data; - gi_ir_node_build_typelib (member, node, build, offset, offset2, NULL); - } - } + gi_ir_node_build_typelib (member, node, build, offset, offset2, NULL); + } + } } break; case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - EnumBlob *blob = (EnumBlob *)&data[*offset]; - GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; + EnumBlob *blob = (EnumBlob *)&data[*offset]; + GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; - *offset += sizeof (EnumBlob); + *offset += sizeof (EnumBlob); - if (node->type == GI_IR_NODE_ENUM) - blob->blob_type = BLOB_TYPE_ENUM; - else - blob->blob_type = BLOB_TYPE_FLAGS; + if (node->type == GI_IR_NODE_ENUM) + blob->blob_type = BLOB_TYPE_ENUM; + else + blob->blob_type = BLOB_TYPE_FLAGS; - blob->deprecated = enum_->deprecated; - blob->reserved = 0; - blob->storage_type = enum_->storage_type; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - if (enum_->gtype_name) - { - blob->unregistered = FALSE; - blob->gtype_name = gi_ir_write_string (enum_->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (enum_->gtype_init, strings, data, offset2); - } - else - { - blob->unregistered = TRUE; - blob->gtype_name = 0; - blob->gtype_init = 0; - } - if (enum_->error_domain) - blob->error_domain = gi_ir_write_string (enum_->error_domain, strings, data, offset2); - else - blob->error_domain = 0; + blob->deprecated = enum_->deprecated; + blob->reserved = 0; + blob->storage_type = enum_->storage_type; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + if (enum_->gtype_name) + { + blob->unregistered = FALSE; + blob->gtype_name = gi_ir_write_string (enum_->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (enum_->gtype_init, strings, data, offset2); + } + else + { + blob->unregistered = TRUE; + blob->gtype_name = 0; + blob->gtype_init = 0; + } + if (enum_->error_domain) + blob->error_domain = gi_ir_write_string (enum_->error_domain, strings, data, offset2); + else + blob->error_domain = 0; - blob->n_values = 0; - blob->n_methods = 0; + blob->n_values = 0; + blob->n_methods = 0; - for (l = enum_->values; l; l = l->next) - { - GIIrNode *value = (GIIrNode *)l->data; + for (l = enum_->values; l; l = l->next) + { + GIIrNode *value = (GIIrNode *)l->data; - blob->n_values++; - gi_ir_node_build_typelib (value, node, build, offset, offset2, NULL); - } + blob->n_values++; + gi_ir_node_build_typelib (value, node, build, offset, offset2, NULL); + } - for (l = enum_->methods; l; l = l->next) - { - GIIrNode *method = (GIIrNode *)l->data; + for (l = enum_->methods; l; l = l->next) + { + GIIrNode *method = (GIIrNode *)l->data; - blob->n_methods++; - gi_ir_node_build_typelib (method, node, build, offset, offset2, NULL); - } + blob->n_methods++; + gi_ir_node_build_typelib (method, node, build, offset, offset2, NULL); + } } break; case GI_IR_NODE_OBJECT: { - ObjectBlob *blob = (ObjectBlob *)&data[*offset]; - GIIrNodeInterface *object = (GIIrNodeInterface *)node; - GList *members; + ObjectBlob *blob = (ObjectBlob *)&data[*offset]; + GIIrNodeInterface *object = (GIIrNodeInterface *)node; + GList *members; - blob->blob_type = BLOB_TYPE_OBJECT; - blob->abstract = object->abstract; + blob->blob_type = BLOB_TYPE_OBJECT; + blob->abstract = object->abstract; blob->fundamental = object->fundamental; blob->final_ = object->final_; - blob->deprecated = object->deprecated; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->gtype_name = gi_ir_write_string (object->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (object->gtype_init, strings, data, offset2); + blob->deprecated = object->deprecated; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->gtype_name = gi_ir_write_string (object->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (object->gtype_init, strings, data, offset2); if (object->ref_func) blob->ref_func = gi_ir_write_string (object->ref_func, strings, data, offset2); if (object->unref_func) @@ -2182,210 +2182,210 @@ gi_ir_node_build_typelib (GIIrNode *node, blob->set_value_func = gi_ir_write_string (object->set_value_func, strings, data, offset2); if (object->get_value_func) blob->get_value_func = gi_ir_write_string (object->get_value_func, strings, data, offset2); - if (object->parent) - blob->parent = find_entry (build, object->parent); - else - blob->parent = 0; - if (object->glib_type_struct) - blob->gtype_struct = find_entry (build, object->glib_type_struct); - else - blob->gtype_struct = 0; + if (object->parent) + blob->parent = find_entry (build, object->parent); + else + blob->parent = 0; + if (object->glib_type_struct) + blob->gtype_struct = find_entry (build, object->glib_type_struct); + else + blob->gtype_struct = 0; - blob->n_interfaces = 0; - blob->n_fields = 0; - blob->n_properties = 0; - blob->n_methods = 0; - blob->n_signals = 0; - blob->n_vfuncs = 0; - blob->n_constants = 0; - blob->n_field_callbacks = 0; + blob->n_interfaces = 0; + blob->n_fields = 0; + blob->n_properties = 0; + blob->n_methods = 0; + blob->n_signals = 0; + blob->n_vfuncs = 0; + blob->n_constants = 0; + blob->n_field_callbacks = 0; - *offset += sizeof(ObjectBlob); - for (l = object->interfaces; l; l = l->next) - { - blob->n_interfaces++; - *(guint16*)&data[*offset] = find_entry (build, (gchar *)l->data); - *offset += 2; - } + *offset += sizeof(ObjectBlob); + for (l = object->interfaces; l; l = l->next) + { + blob->n_interfaces++; + *(guint16*)&data[*offset] = find_entry (build, (gchar *)l->data); + *offset += 2; + } - members = g_list_copy (object->members); + members = g_list_copy (object->members); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_FIELD, &blob->n_fields, node, build, offset, offset2, &blob->n_field_callbacks); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_PROPERTY, &blob->n_properties, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_PROPERTY, &blob->n_properties, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_SIGNAL, &blob->n_signals, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_SIGNAL, &blob->n_signals, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_VFUNC, &blob->n_vfuncs, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_VFUNC, &blob->n_vfuncs, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_CONSTANT, &blob->n_constants, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_CONSTANT, &blob->n_constants, node, build, offset, offset2, NULL); - gi_ir_node_check_unhandled_members (&members, node->type); + gi_ir_node_check_unhandled_members (&members, node->type); - g_assert (members == NULL); + g_assert (members == NULL); } break; case GI_IR_NODE_INTERFACE: { - InterfaceBlob *blob = (InterfaceBlob *)&data[*offset]; - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - GList *members; + InterfaceBlob *blob = (InterfaceBlob *)&data[*offset]; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GList *members; - blob->blob_type = BLOB_TYPE_INTERFACE; - blob->deprecated = iface->deprecated; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->gtype_name = gi_ir_write_string (iface->gtype_name, strings, data, offset2); - blob->gtype_init = gi_ir_write_string (iface->gtype_init, strings, data, offset2); - if (iface->glib_type_struct) - blob->gtype_struct = find_entry (build, iface->glib_type_struct); - else - blob->gtype_struct = 0; - blob->n_prerequisites = 0; - blob->n_properties = 0; - blob->n_methods = 0; - blob->n_signals = 0; - blob->n_vfuncs = 0; - blob->n_constants = 0; + blob->blob_type = BLOB_TYPE_INTERFACE; + blob->deprecated = iface->deprecated; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->gtype_name = gi_ir_write_string (iface->gtype_name, strings, data, offset2); + blob->gtype_init = gi_ir_write_string (iface->gtype_init, strings, data, offset2); + if (iface->glib_type_struct) + blob->gtype_struct = find_entry (build, iface->glib_type_struct); + else + blob->gtype_struct = 0; + blob->n_prerequisites = 0; + blob->n_properties = 0; + blob->n_methods = 0; + blob->n_signals = 0; + blob->n_vfuncs = 0; + blob->n_constants = 0; - *offset += sizeof (InterfaceBlob); - for (l = iface->prerequisites; l; l = l->next) - { - blob->n_prerequisites++; - *(guint16*)&data[*offset] = find_entry (build, (gchar *)l->data); - *offset += 2; - } + *offset += sizeof (InterfaceBlob); + for (l = iface->prerequisites; l; l = l->next) + { + blob->n_prerequisites++; + *(guint16*)&data[*offset] = find_entry (build, (gchar *)l->data); + *offset += 2; + } - members = g_list_copy (iface->members); + members = g_list_copy (iface->members); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_PROPERTY, &blob->n_properties, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_PROPERTY, &blob->n_properties, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_FUNCTION, &blob->n_methods, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_SIGNAL, &blob->n_signals, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_SIGNAL, &blob->n_signals, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_VFUNC, &blob->n_vfuncs, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_VFUNC, &blob->n_vfuncs, node, build, offset, offset2, NULL); - *offset = ALIGN_VALUE (*offset, 4); - gi_ir_node_build_members (&members, GI_IR_NODE_CONSTANT, &blob->n_constants, + *offset = ALIGN_VALUE (*offset, 4); + gi_ir_node_build_members (&members, GI_IR_NODE_CONSTANT, &blob->n_constants, node, build, offset, offset2, NULL); - gi_ir_node_check_unhandled_members (&members, node->type); + gi_ir_node_check_unhandled_members (&members, node->type); - g_assert (members == NULL); + g_assert (members == NULL); } break; case GI_IR_NODE_VALUE: { - GIIrNodeValue *value = (GIIrNodeValue *)node; - ValueBlob *blob = (ValueBlob *)&data[*offset]; - *offset += sizeof (ValueBlob); + GIIrNodeValue *value = (GIIrNodeValue *)node; + ValueBlob *blob = (ValueBlob *)&data[*offset]; + *offset += sizeof (ValueBlob); - blob->deprecated = value->deprecated; - blob->reserved = 0; - blob->unsigned_value = value->value >= 0 ? 1 : 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->value = (gint32)value->value; + blob->deprecated = value->deprecated; + blob->reserved = 0; + blob->unsigned_value = value->value >= 0 ? 1 : 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->value = (gint32)value->value; } break; case GI_IR_NODE_CONSTANT: { - GIIrNodeConstant *constant = (GIIrNodeConstant *)node; - ConstantBlob *blob = (ConstantBlob *)&data[*offset]; - guint32 pos; + GIIrNodeConstant *constant = (GIIrNodeConstant *)node; + ConstantBlob *blob = (ConstantBlob *)&data[*offset]; + guint32 pos; - pos = *offset + G_STRUCT_OFFSET (ConstantBlob, type); - *offset += sizeof (ConstantBlob); + pos = *offset + G_STRUCT_OFFSET (ConstantBlob, type); + *offset += sizeof (ConstantBlob); - blob->blob_type = BLOB_TYPE_CONSTANT; - blob->deprecated = constant->deprecated; - blob->reserved = 0; - blob->name = gi_ir_write_string (node->name, strings, data, offset2); + blob->blob_type = BLOB_TYPE_CONSTANT; + blob->deprecated = constant->deprecated; + blob->reserved = 0; + blob->name = gi_ir_write_string (node->name, strings, data, offset2); - blob->offset = *offset2; - switch (constant->type->tag) - { - case GI_TYPE_TAG_BOOLEAN: - blob->size = 4; - *(gboolean*)&data[blob->offset] = parse_boolean_value (constant->value); - break; - case GI_TYPE_TAG_INT8: - blob->size = 1; - *(gint8*)&data[blob->offset] = (gint8) parse_int_value (constant->value); - break; - case GI_TYPE_TAG_UINT8: - blob->size = 1; - *(guint8*)&data[blob->offset] = (guint8) parse_uint_value (constant->value); - break; - case GI_TYPE_TAG_INT16: - blob->size = 2; - *(gint16*)&data[blob->offset] = (gint16) parse_int_value (constant->value); - break; - case GI_TYPE_TAG_UINT16: - blob->size = 2; - *(guint16*)&data[blob->offset] = (guint16) parse_uint_value (constant->value); - break; - case GI_TYPE_TAG_INT32: - blob->size = 4; - *(gint32*)&data[blob->offset] = (gint32) parse_int_value (constant->value); - break; - case GI_TYPE_TAG_UINT32: - blob->size = 4; - *(guint32*)&data[blob->offset] = (guint32) parse_uint_value (constant->value); - break; - case GI_TYPE_TAG_INT64: - blob->size = 8; - DO_ALIGNED_COPY(&data[blob->offset], parse_int_value (constant->value), gint64); - break; - case GI_TYPE_TAG_UINT64: - blob->size = 8; - DO_ALIGNED_COPY(&data[blob->offset], parse_uint_value (constant->value), guint64); - break; - case GI_TYPE_TAG_FLOAT: - blob->size = sizeof (gfloat); - DO_ALIGNED_COPY(&data[blob->offset], parse_float_value (constant->value), gfloat); - break; - case GI_TYPE_TAG_DOUBLE: - blob->size = sizeof (gdouble); - DO_ALIGNED_COPY(&data[blob->offset], parse_float_value (constant->value), gdouble); - break; - case GI_TYPE_TAG_UTF8: - case GI_TYPE_TAG_FILENAME: - blob->size = strlen (constant->value) + 1; - memcpy (&data[blob->offset], constant->value, blob->size); - break; - default: - break; - } - *offset2 += ALIGN_VALUE (blob->size, 4); + blob->offset = *offset2; + switch (constant->type->tag) + { + case GI_TYPE_TAG_BOOLEAN: + blob->size = 4; + *(gboolean*)&data[blob->offset] = parse_boolean_value (constant->value); + break; + case GI_TYPE_TAG_INT8: + blob->size = 1; + *(gint8*)&data[blob->offset] = (gint8) parse_int_value (constant->value); + break; + case GI_TYPE_TAG_UINT8: + blob->size = 1; + *(guint8*)&data[blob->offset] = (guint8) parse_uint_value (constant->value); + break; + case GI_TYPE_TAG_INT16: + blob->size = 2; + *(gint16*)&data[blob->offset] = (gint16) parse_int_value (constant->value); + break; + case GI_TYPE_TAG_UINT16: + blob->size = 2; + *(guint16*)&data[blob->offset] = (guint16) parse_uint_value (constant->value); + break; + case GI_TYPE_TAG_INT32: + blob->size = 4; + *(gint32*)&data[blob->offset] = (gint32) parse_int_value (constant->value); + break; + case GI_TYPE_TAG_UINT32: + blob->size = 4; + *(guint32*)&data[blob->offset] = (guint32) parse_uint_value (constant->value); + break; + case GI_TYPE_TAG_INT64: + blob->size = 8; + DO_ALIGNED_COPY(&data[blob->offset], parse_int_value (constant->value), gint64); + break; + case GI_TYPE_TAG_UINT64: + blob->size = 8; + DO_ALIGNED_COPY(&data[blob->offset], parse_uint_value (constant->value), guint64); + break; + case GI_TYPE_TAG_FLOAT: + blob->size = sizeof (gfloat); + DO_ALIGNED_COPY(&data[blob->offset], parse_float_value (constant->value), gfloat); + break; + case GI_TYPE_TAG_DOUBLE: + blob->size = sizeof (gdouble); + DO_ALIGNED_COPY(&data[blob->offset], parse_float_value (constant->value), gdouble); + break; + case GI_TYPE_TAG_UTF8: + case GI_TYPE_TAG_FILENAME: + blob->size = strlen (constant->value) + 1; + memcpy (&data[blob->offset], constant->value, blob->size); + break; + default: + break; + } + *offset2 += ALIGN_VALUE (blob->size, 4); - gi_ir_node_build_typelib ((GIIrNode *)constant->type, node, build, &pos, offset2, NULL); + gi_ir_node_build_typelib ((GIIrNode *)constant->type, node, build, &pos, offset2, NULL); } break; default: @@ -2393,11 +2393,11 @@ gi_ir_node_build_typelib (GIIrNode *node, } g_debug ("node %s%s%s%p type '%s', offset %d -> %d, offset2 %d -> %d", - node->name ? "'" : "", - node->name ? node->name : "", - node->name ? "' " : "", - node, gi_ir_node_type_to_string (node->type), - old_offset, *offset, old_offset2, *offset2); + node->name ? "'" : "", + node->name ? node->name : "", + node->name ? "' " : "", + node, gi_ir_node_type_to_string (node->type), + old_offset, *offset, old_offset2, *offset2); if (*offset2 - old_offset2 + *offset - old_offset > gi_ir_node_get_full_size (node)) g_error ("exceeding space reservation; offset: %d (prev %d) offset2: %d (prev %d) nodesize: %d", diff --git a/girepository/giroffsets.c b/girepository/giroffsets.c index 32bf684df..3a443c6b6 100644 --- a/girepository/giroffsets.c +++ b/girepository/giroffsets.c @@ -95,44 +95,44 @@ compute_enum_storage_type (GIIrNodeEnum *enum_node) signed_type = TRUE; if (min_value > -128 && max_value <= 127) - width = sizeof(Enum7); + width = sizeof(Enum7); else if (min_value >= G_MINSHORT && max_value <= G_MAXSHORT) - width = sizeof(Enum8); + width = sizeof(Enum8); else - width = sizeof(Enum9); + width = sizeof(Enum9); } else { if (max_value <= 127) - { - width = sizeof (Enum1); - signed_type = (gint64)(Enum1)(-1) < 0; - } + { + width = sizeof (Enum1); + signed_type = (gint64)(Enum1)(-1) < 0; + } else if (max_value <= 255) - { - width = sizeof (Enum2); - signed_type = (gint64)(Enum2)(-1) < 0; - } + { + width = sizeof (Enum2); + signed_type = (gint64)(Enum2)(-1) < 0; + } else if (max_value <= G_MAXSHORT) - { - width = sizeof (Enum3); - signed_type = (gint64)(Enum3)(-1) < 0; - } + { + width = sizeof (Enum3); + signed_type = (gint64)(Enum3)(-1) < 0; + } else if (max_value <= G_MAXUSHORT) - { - width = sizeof (Enum4); - signed_type = (gint64)(Enum4)(-1) < 0; - } + { + width = sizeof (Enum4); + signed_type = (gint64)(Enum4)(-1) < 0; + } else if (max_value <= G_MAXINT) - { - width = sizeof (Enum5); - signed_type = (gint64)(Enum5)(-1) < 0; - } + { + width = sizeof (Enum5); + signed_type = (gint64)(Enum5)(-1) < 0; + } else - { - width = sizeof (Enum6); - signed_type = (gint64)(Enum6)(-1) < 0; - } + { + width = sizeof (Enum6); + signed_type = (gint64)(Enum6)(-1) < 0; + } } if (width == 1) @@ -176,7 +176,7 @@ get_enum_size_alignment (GIIrNodeEnum *enum_node, break; default: g_error ("Unexpected enum storage type %s", - gi_type_tag_to_string (enum_node->storage_type)); + gi_type_tag_to_string (enum_node->storage_type)); } *size = type_ffi->size; @@ -209,53 +209,53 @@ get_interface_size_alignment (GIIrTypelibBuild *build, { case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)iface; - *size = boxed->size; - *alignment = boxed->alignment; - break; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)iface; + *size = boxed->size; + *alignment = boxed->alignment; + break; } case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)iface; - *size = struct_->size; - *alignment = struct_->alignment; - break; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)iface; + *size = struct_->size; + *alignment = struct_->alignment; + break; } case GI_IR_NODE_OBJECT: case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *interface = (GIIrNodeInterface *)iface; - *size = interface->size; - *alignment = interface->alignment; - break; + GIIrNodeInterface *interface = (GIIrNodeInterface *)iface; + *size = interface->size; + *alignment = interface->alignment; + break; } case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)iface; - *size = union_->size; - *alignment = union_->alignment; - break; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)iface; + *size = union_->size; + *alignment = union_->alignment; + break; } case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - return get_enum_size_alignment ((GIIrNodeEnum *)iface, - size, alignment); + return get_enum_size_alignment ((GIIrNodeEnum *)iface, + size, alignment); } case GI_IR_NODE_CALLBACK: { - *size = ffi_type_pointer.size; - *alignment = ffi_type_pointer.alignment; - break; + *size = ffi_type_pointer.size; + *alignment = ffi_type_pointer.alignment; + break; } default: { - g_warning ("%s has is not a pointer and is of type %s", + g_warning ("%s has is not a pointer and is of type %s", who, - gi_ir_node_type_to_string (iface->type)); - *size = -1; - *alignment = -1; - break; + gi_ir_node_type_to_string (iface->type)); + *size = -1; + *alignment = -1; + break; } } @@ -296,30 +296,30 @@ get_type_size_alignment (GIIrTypelibBuild *build, else { if (type->tag == GI_TYPE_TAG_INTERFACE) - { - return get_interface_size_alignment (build, type, size, alignment, who); - } + { + return get_interface_size_alignment (build, type, size, alignment, who); + } else - { - type_ffi = gi_type_tag_get_ffi_type (type->tag, type->is_pointer); + { + type_ffi = gi_type_tag_get_ffi_type (type->tag, type->is_pointer); - if (type_ffi == &ffi_type_void) - { - g_warning ("%s has void type", who); - *size = -1; - *alignment = -1; - return FALSE; - } - else if (type_ffi == &ffi_type_pointer) - { - g_warning ("%s has is not a pointer and is of type %s", + if (type_ffi == &ffi_type_void) + { + g_warning ("%s has void type", who); + *size = -1; + *alignment = -1; + return FALSE; + } + else if (type_ffi == &ffi_type_pointer) + { + g_warning ("%s has is not a pointer and is of type %s", who, - gi_type_tag_to_string (type->tag)); - *size = -1; - *alignment = -1; - return FALSE; - } - } + gi_type_tag_to_string (type->tag)); + *size = -1; + *alignment = -1; + return FALSE; + } + } } g_assert (type_ffi); @@ -376,35 +376,35 @@ compute_struct_field_offsets (GIIrTypelibBuild *build, GIIrNode *member = (GIIrNode *)l->data; if (member->type == GI_IR_NODE_FIELD) - { - GIIrNodeField *field = (GIIrNodeField *)member; + { + GIIrNodeField *field = (GIIrNodeField *)member; - if (!have_error) - { - int member_size; - int member_alignment; + if (!have_error) + { + int member_size; + int member_alignment; - if (get_field_size_alignment (build, field, node, - &member_size, &member_alignment)) - { - size = GI_ALIGN (size, member_alignment); - alignment = MAX (alignment, member_alignment); - field->offset = size; - size += member_size; - } - else - have_error = TRUE; - } + if (get_field_size_alignment (build, field, node, + &member_size, &member_alignment)) + { + size = GI_ALIGN (size, member_alignment); + alignment = MAX (alignment, member_alignment); + field->offset = size; + size += member_size; + } + else + have_error = TRUE; + } - if (have_error) - field->offset = -1; - } + if (have_error) + field->offset = -1; + } else if (member->type == GI_IR_NODE_CALLBACK) - { + { size = GI_ALIGN (size, ffi_type_pointer.alignment); alignment = MAX (alignment, ffi_type_pointer.alignment); - size += ffi_type_pointer.size; - } + size += ffi_type_pointer.size; + } } /* Structs are tail-padded out to a multiple of their alignment */ @@ -443,24 +443,24 @@ compute_union_field_offsets (GIIrTypelibBuild *build, GIIrNode *member = (GIIrNode *)l->data; if (member->type == GI_IR_NODE_FIELD) - { - GIIrNodeField *field = (GIIrNodeField *)member; + { + GIIrNodeField *field = (GIIrNodeField *)member; - if (!have_error) - { - int member_size; - int member_alignment; + if (!have_error) + { + int member_size; + int member_alignment; - if (get_field_size_alignment (build,field, node, - &member_size, &member_alignment)) - { - size = MAX (size, member_size); - alignment = MAX (alignment, member_alignment); - } - else - have_error = TRUE; - } - } + if (get_field_size_alignment (build,field, node, + &member_size, &member_alignment)) + { + size = MAX (size, member_size); + alignment = MAX (alignment, member_alignment); + } + else + have_error = TRUE; + } + } } /* Unions are tail-padded out to a multiple of their alignment */ @@ -495,7 +495,7 @@ check_needs_computation (GIIrTypelibBuild *build, if (alignment == -2) { g_warning ("Recursion encountered when computing the size of %s.%s", - module->name, node->name); + module->name, node->name); } return alignment == 0; @@ -529,60 +529,60 @@ gi_ir_node_compute_offsets (GIIrTypelibBuild *build, { case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; + GIIrNodeBoxed *boxed = (GIIrNodeBoxed *)node; - if (!check_needs_computation (build, node, boxed->alignment)) - return; + if (!check_needs_computation (build, node, boxed->alignment)) + return; - compute_struct_field_offsets (build, node, boxed->members, - &boxed->size, &boxed->alignment); - break; + compute_struct_field_offsets (build, node, boxed->members, + &boxed->size, &boxed->alignment); + break; } case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; + GIIrNodeStruct *struct_ = (GIIrNodeStruct *)node; - if (!check_needs_computation (build, node, struct_->alignment)) - return; + if (!check_needs_computation (build, node, struct_->alignment)) + return; - compute_struct_field_offsets (build, node, struct_->members, - &struct_->size, &struct_->alignment); - break; + compute_struct_field_offsets (build, node, struct_->members, + &struct_->size, &struct_->alignment); + break; } case GI_IR_NODE_OBJECT: case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface = (GIIrNodeInterface *)node; + GIIrNodeInterface *iface = (GIIrNodeInterface *)node; - if (!check_needs_computation (build, node, iface->alignment)) - return; + if (!check_needs_computation (build, node, iface->alignment)) + return; - compute_struct_field_offsets (build, node, iface->members, - &iface->size, &iface->alignment); - break; + compute_struct_field_offsets (build, node, iface->members, + &iface->size, &iface->alignment); + break; } case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; + GIIrNodeUnion *union_ = (GIIrNodeUnion *)node; - if (!check_needs_computation (build, node, union_->alignment)) - return; + if (!check_needs_computation (build, node, union_->alignment)) + return; - compute_union_field_offsets (build, (GIIrNode*)union_, union_->members, - &union_->size, &union_->alignment); - break; + compute_union_field_offsets (build, (GIIrNode*)union_, union_->members, + &union_->size, &union_->alignment); + break; } case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: { - GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; + GIIrNodeEnum *enum_ = (GIIrNodeEnum *)node; - if (enum_->storage_type != GI_TYPE_TAG_VOID) /* already done */ - return; + if (enum_->storage_type != GI_TYPE_TAG_VOID) /* already done */ + return; - compute_enum_storage_type (enum_); + compute_enum_storage_type (enum_); - break; + break; } default: break; diff --git a/girepository/girparser.c b/girepository/girparser.c index 04008a1a7..7667c53bf 100644 --- a/girepository/girparser.c +++ b/girepository/girparser.c @@ -133,23 +133,23 @@ struct _ParseContext #define CURRENT_NODE(ctx) ((GIIrNode *)((ctx)->node_stack->data)) static void start_element_handler (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - gpointer user_data, - GError **error); + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error); static void end_element_handler (GMarkupParseContext *context, - const gchar *element_name, - gpointer user_data, - GError **error); + const gchar *element_name, + gpointer user_data, + GError **error); static void text_handler (GMarkupParseContext *context, - const gchar *text, - gsize text_len, - gpointer user_data, - GError **error); + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error); static void cleanup (GMarkupParseContext *context, - GError *error, - gpointer user_data); + GError *error, + gpointer user_data); static void state_switch (ParseContext *ctx, ParseState newstate); @@ -164,22 +164,22 @@ static GMarkupParser markup_parser = static gboolean start_alias (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error); + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error); static gboolean start_type (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error); + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error); static const gchar *find_attribute (const gchar *name, - const gchar **attribute_names, - const gchar **attribute_values); + const gchar **attribute_names, + const gchar **attribute_values); GIIrParser * @@ -219,23 +219,23 @@ gi_ir_parser_set_includes (GIIrParser *parser, static void firstpass_start_element_handler (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - gpointer user_data, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error) { ParseContext *ctx = user_data; if (strcmp (element_name, "alias") == 0) { start_alias (context, element_name, attribute_names, attribute_values, - ctx, error); + ctx, error); } else if (ctx->state == STATE_ALIAS && strcmp (element_name, "type") == 0) { start_type (context, element_name, attribute_names, attribute_values, - ctx, error); + ctx, error); } else if (strcmp (element_name, "record") == 0) { @@ -252,23 +252,23 @@ firstpass_start_element_handler (GMarkupParseContext *context, char *key; key = g_strdup_printf ("%s.%s", ctx->namespace, name); - g_hash_table_replace (ctx->pointer_structures, key, GINT_TO_POINTER (1)); + g_hash_table_replace (ctx->pointer_structures, key, GINT_TO_POINTER (1)); } else if (g_strcmp0 (disguised, "1") == 0) - { - char *key; + { + char *key; - key = g_strdup_printf ("%s.%s", ctx->namespace, name); - g_hash_table_replace (ctx->disguised_structures, key, GINT_TO_POINTER (1)); - } + key = g_strdup_printf ("%s.%s", ctx->namespace, name); + g_hash_table_replace (ctx->disguised_structures, key, GINT_TO_POINTER (1)); + } } } static void firstpass_end_element_handler (GMarkupParseContext *context, - const gchar *element_name, - gpointer user_data, - GError **error) + const gchar *element_name, + gpointer user_data, + GError **error) { ParseContext *ctx = user_data; if (strcmp (element_name, "alias") == 0) @@ -304,13 +304,13 @@ locate_gir (GIIrParser *parser, if (parser->includes != NULL) { for (dir = (const gchar *const *)parser->includes; *dir; dir++) - { - path = g_build_filename (*dir, girname, NULL); - g_debug ("Trying %s from includes", path); - if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) - return g_steal_pointer (&path); - g_clear_pointer (&path, g_free); - } + { + path = g_build_filename (*dir, girname, NULL); + g_debug ("Trying %s from includes", path); + if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) + return g_steal_pointer (&path); + g_clear_pointer (&path, g_free); + } } if (parser->gi_gir_path != NULL) @@ -367,21 +367,21 @@ locate_gir (GIIrParser *parser, return NULL; } -#define MISSING_ATTRIBUTE(context,error,element,attribute) \ +#define MISSING_ATTRIBUTE(context,error,element,attribute) \ do { \ int line_number, char_number; \ g_markup_parse_context_get_position (context, &line_number, &char_number); \ g_set_error (error, \ - G_MARKUP_ERROR, \ - G_MARKUP_ERROR_INVALID_CONTENT, \ - "Line %d, character %d: The attribute '%s' on the element '%s' must be specified", \ - line_number, char_number, attribute, element); \ + G_MARKUP_ERROR, \ + G_MARKUP_ERROR_INVALID_CONTENT, \ + "Line %d, character %d: The attribute '%s' on the element '%s' must be specified", \ + line_number, char_number, attribute, element); \ } while (0) static const gchar * find_attribute (const gchar *name, - const gchar **attribute_names, - const gchar **attribute_values) + const gchar **attribute_names, + const gchar **attribute_values) { gint i; @@ -490,42 +490,42 @@ parse_basic (const char *str) for (i = 0; i < n_basic; i++) { if (strcmp (str, basic_types[i].str) == 0) - return &(basic_types[i]); + return &(basic_types[i]); } for (i = 0; i < G_N_ELEMENTS (integer_aliases); i++) { if (strcmp (str, integer_aliases[i].str) == 0) - { - switch (integer_aliases[i].size) - { - case sizeof(guint8): - if (integer_aliases[i].is_signed) - return &basic_types[BASIC_TYPE_FIXED_OFFSET]; - else - return &basic_types[BASIC_TYPE_FIXED_OFFSET+1]; - break; - case sizeof(guint16): - if (integer_aliases[i].is_signed) - return &basic_types[BASIC_TYPE_FIXED_OFFSET+2]; - else - return &basic_types[BASIC_TYPE_FIXED_OFFSET+3]; - break; - case sizeof(guint32): - if (integer_aliases[i].is_signed) - return &basic_types[BASIC_TYPE_FIXED_OFFSET+4]; - else - return &basic_types[BASIC_TYPE_FIXED_OFFSET+5]; - break; - case sizeof(guint64): - if (integer_aliases[i].is_signed) - return &basic_types[BASIC_TYPE_FIXED_OFFSET+6]; - else - return &basic_types[BASIC_TYPE_FIXED_OFFSET+7]; - break; - default: - g_assert_not_reached (); - } - } + { + switch (integer_aliases[i].size) + { + case sizeof(guint8): + if (integer_aliases[i].is_signed) + return &basic_types[BASIC_TYPE_FIXED_OFFSET]; + else + return &basic_types[BASIC_TYPE_FIXED_OFFSET+1]; + break; + case sizeof(guint16): + if (integer_aliases[i].is_signed) + return &basic_types[BASIC_TYPE_FIXED_OFFSET+2]; + else + return &basic_types[BASIC_TYPE_FIXED_OFFSET+3]; + break; + case sizeof(guint32): + if (integer_aliases[i].is_signed) + return &basic_types[BASIC_TYPE_FIXED_OFFSET+4]; + else + return &basic_types[BASIC_TYPE_FIXED_OFFSET+5]; + break; + case sizeof(guint64): + if (integer_aliases[i].is_signed) + return &basic_types[BASIC_TYPE_FIXED_OFFSET+6]; + else + return &basic_types[BASIC_TYPE_FIXED_OFFSET+7]; + break; + default: + g_assert_not_reached (); + } + } } return NULL; } @@ -568,51 +568,51 @@ parse_type_internal (GIIrModule *module, * special. */ if (g_str_has_prefix (str, "List<") || - strcmp (str, "List") == 0) - { - temporary_type = g_strdup_printf ("GLib.List%s", str + 4); - str = temporary_type; - } + strcmp (str, "List") == 0) + { + temporary_type = g_strdup_printf ("GLib.List%s", str + 4); + str = temporary_type; + } else if (g_str_has_prefix (str, "SList<") || - strcmp (str, "SList") == 0) - { - temporary_type = g_strdup_printf ("GLib.SList%s", str + 5); - str = temporary_type; - } + strcmp (str, "SList") == 0) + { + temporary_type = g_strdup_printf ("GLib.SList%s", str + 5); + str = temporary_type; + } else if (g_str_has_prefix (str, "HashTable<") || - strcmp (str, "HashTable") == 0) - { - temporary_type = g_strdup_printf ("GLib.HashTable%s", str + 9); - str = temporary_type; - } + strcmp (str, "HashTable") == 0) + { + temporary_type = g_strdup_printf ("GLib.HashTable%s", str + 9); + str = temporary_type; + } else if (g_str_has_prefix (str, "Error<") || - strcmp (str, "Error") == 0) - { - temporary_type = g_strdup_printf ("GLib.Error%s", str + 5); - str = temporary_type; - } + strcmp (str, "Error") == 0) + { + temporary_type = g_strdup_printf ("GLib.Error%s", str + 5); + str = temporary_type; + } } if (basic != NULL) /* found a basic type */; else if (g_str_has_prefix (str, "GLib.List") || - g_str_has_prefix (str, "GLib.SList")) + g_str_has_prefix (str, "GLib.SList")) { str += strlen ("GLib."); if (g_str_has_prefix (str, "List")) - { - type->tag = GI_TYPE_TAG_GLIST; - type->is_glist = TRUE; - type->is_pointer = TRUE; - str += strlen ("List"); - } + { + type->tag = GI_TYPE_TAG_GLIST; + type->is_glist = TRUE; + type->is_pointer = TRUE; + str += strlen ("List"); + } else - { - type->tag = GI_TYPE_TAG_GSLIST; - type->is_gslist = TRUE; - type->is_pointer = TRUE; - str += strlen ("SList"); - } + { + type->tag = GI_TYPE_TAG_GSLIST; + type->is_gslist = TRUE; + type->is_pointer = TRUE; + str += strlen ("SList"); + } } else if (g_str_has_prefix (str, "GLib.HashTable")) { @@ -633,17 +633,17 @@ parse_type_internal (GIIrModule *module, str += strlen ("Error"); if (*str == '<') - { - char *tmp, *end; - (str)++; + { + char *tmp, *end; + (str)++; - end = strchr (str, '>'); - tmp = g_strndup (str, end - str); - type->errors = g_strsplit (tmp, ",", 0); - g_free (tmp); + end = strchr (str, '>'); + tmp = g_strndup (str, end - str); + type->errors = g_strsplit (tmp, ",", 0); + g_free (tmp); - str = end; - } + str = end; + } } else { @@ -654,11 +654,11 @@ parse_type_internal (GIIrModule *module, /* must be an interface type */ while (g_ascii_isalnum (*str) || - *str == '.' || - *str == '-' || - *str == '_' || - *str == ':') - (str)++; + *str == '.' || + *str == '-' || + *str == '_' || + *str == ':') + (str)++; type->giinterface = g_strndup (start, str - start); } @@ -701,8 +701,8 @@ resolve_aliases (ParseContext *ctx, const gchar *type) g_debug ("Resolved: %s => %s", lookup, (char*)value); lookup = value; if (g_slist_find_custom (seen_values, lookup, - (GCompareFunc)strcmp) != NULL) - break; + (GCompareFunc)strcmp) != NULL) + break; seen_values = g_slist_prepend (seen_values, (gchar*)lookup); } g_slist_free (seen_values); @@ -769,10 +769,10 @@ parse_type (ParseContext *ctx, const gchar *type) static gboolean introspectable_prelude (GMarkupParseContext *context, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - ParseState new_state) + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + ParseState new_state) { const gchar *introspectable_arg; const gchar *shadowed_by; @@ -795,11 +795,11 @@ introspectable_prelude (GMarkupParseContext *context, static gboolean start_glib_boxed (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *typename; @@ -808,7 +808,7 @@ start_glib_boxed (GMarkupParseContext *context, GIIrNodeBoxed *boxed; if (!(strcmp (element_name, "glib:boxed") == 0 && - ctx->state == STATE_NAMESPACE)) + ctx->state == STATE_NAMESPACE)) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_BOXED)) @@ -855,11 +855,11 @@ start_glib_boxed (GMarkupParseContext *context, static gboolean start_function (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *shadows; @@ -876,7 +876,7 @@ start_function (GMarkupParseContext *context, { case STATE_NAMESPACE: found = (strcmp (element_name, "function") == 0 || - strcmp (element_name, "callback") == 0); + strcmp (element_name, "callback") == 0); break; case STATE_CLASS: case STATE_BOXED: @@ -887,9 +887,9 @@ start_function (GMarkupParseContext *context, G_GNUC_FALLTHROUGH; case STATE_INTERFACE: found = (found || - strcmp (element_name, "function") == 0 || - strcmp (element_name, "method") == 0 || - strcmp (element_name, "callback") == 0); + strcmp (element_name, "function") == 0 || + strcmp (element_name, "method") == 0 || + strcmp (element_name, "callback") == 0); break; case STATE_ENUM: found = strcmp (element_name, "function") == 0; @@ -950,9 +950,9 @@ start_function (GMarkupParseContext *context, function->is_method = TRUE; if (strcmp (element_name, "constructor") == 0) - function->is_constructor = TRUE; + function->is_constructor = TRUE; else - function->is_constructor = FALSE; + function->is_constructor = FALSE; if (set_property != NULL) { @@ -991,7 +991,7 @@ start_function (GMarkupParseContext *context, if (ctx->node_stack == NULL) { ctx->current_module->entries = - g_list_append (ctx->current_module->entries, function); + g_list_append (ctx->current_module->entries, function); } else if (ctx->current_typed) { @@ -1005,47 +1005,47 @@ start_function (GMarkupParseContext *context, { case GI_IR_NODE_INTERFACE: case GI_IR_NODE_OBJECT: - { - GIIrNodeInterface *iface; + { + GIIrNodeInterface *iface; - iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); - iface->members = g_list_append (iface->members, function); - } - break; + iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); + iface->members = g_list_append (iface->members, function); + } + break; case GI_IR_NODE_BOXED: - { - GIIrNodeBoxed *boxed; + { + GIIrNodeBoxed *boxed; - boxed = (GIIrNodeBoxed *)CURRENT_NODE (ctx); - boxed->members = g_list_append (boxed->members, function); - } - break; + boxed = (GIIrNodeBoxed *)CURRENT_NODE (ctx); + boxed->members = g_list_append (boxed->members, function); + } + break; case GI_IR_NODE_STRUCT: - { - GIIrNodeStruct *struct_; + { + GIIrNodeStruct *struct_; - struct_ = (GIIrNodeStruct *)CURRENT_NODE (ctx); - struct_->members = g_list_append (struct_->members, function); } - break; + struct_ = (GIIrNodeStruct *)CURRENT_NODE (ctx); + struct_->members = g_list_append (struct_->members, function); } + break; case GI_IR_NODE_UNION: - { - GIIrNodeUnion *union_; + { + GIIrNodeUnion *union_; - union_ = (GIIrNodeUnion *)CURRENT_NODE (ctx); - union_->members = g_list_append (union_->members, function); - } - break; + union_ = (GIIrNodeUnion *)CURRENT_NODE (ctx); + union_->members = g_list_append (union_->members, function); + } + break; case GI_IR_NODE_ENUM: case GI_IR_NODE_FLAGS: - { - GIIrNodeEnum *enum_; + { + GIIrNodeEnum *enum_; - enum_ = (GIIrNodeEnum *)CURRENT_NODE (ctx); - enum_->methods = g_list_append (enum_->methods, function); - } - break; + enum_ = (GIIrNodeEnum *)CURRENT_NODE (ctx); + enum_->methods = g_list_append (enum_->methods, function); + } + break; default: - g_assert_not_reached (); + g_assert_not_reached (); } push_node(ctx, (GIIrNode *)function); @@ -1096,13 +1096,13 @@ parse_property_transfer (GIIrNodeProperty *property, static gboolean parse_param_transfer (GIIrNodeParam *param, const gchar *transfer, const gchar *name, - GError **error) + GError **error) { if (transfer == NULL) { g_set_error (error, G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "required attribute 'transfer-ownership' missing"); + G_MARKUP_ERROR_INVALID_CONTENT, + "required attribute 'transfer-ownership' missing"); return FALSE; } else if (strcmp (transfer, "none") == 0) @@ -1123,8 +1123,8 @@ parse_param_transfer (GIIrNodeParam *param, const gchar *transfer, const gchar * else { g_set_error (error, G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "invalid value for 'transfer-ownership': %s", transfer); + G_MARKUP_ERROR_INVALID_CONTENT, + "invalid value for 'transfer-ownership': %s", transfer); return FALSE; } return TRUE; @@ -1142,7 +1142,7 @@ start_instance_parameter (GMarkupParseContext *context, gboolean transfer_full; if (!(strcmp (element_name, "instance-parameter") == 0 && - ctx->state == STATE_FUNCTION_PARAMETERS)) + ctx->state == STATE_FUNCTION_PARAMETERS)) return FALSE; transfer = find_attribute ("transfer-ownership", attribute_names, attribute_values); @@ -1156,8 +1156,8 @@ start_instance_parameter (GMarkupParseContext *context, else { g_set_error (error, G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "invalid value for 'transfer-ownership' for instance parameter: %s", transfer); + G_MARKUP_ERROR_INVALID_CONTENT, + "invalid value for 'transfer-ownership' for instance parameter: %s", transfer); return FALSE; } @@ -1166,25 +1166,25 @@ start_instance_parameter (GMarkupParseContext *context, case GI_IR_NODE_FUNCTION: case GI_IR_NODE_CALLBACK: { - GIIrNodeFunction *func; + GIIrNodeFunction *func; - func = (GIIrNodeFunction *)CURRENT_NODE (ctx); + func = (GIIrNodeFunction *)CURRENT_NODE (ctx); func->instance_transfer_full = transfer_full; } break; case GI_IR_NODE_SIGNAL: { - GIIrNodeSignal *signal; + GIIrNodeSignal *signal; - signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); + signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); signal->instance_transfer_full = transfer_full; } break; case GI_IR_NODE_VFUNC: { - GIIrNodeVFunc *vfunc; + GIIrNodeVFunc *vfunc; - vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); + vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); vfunc->instance_transfer_full = transfer_full; } break; @@ -1197,11 +1197,11 @@ start_instance_parameter (GMarkupParseContext *context, static gboolean start_parameter (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *direction; @@ -1218,7 +1218,7 @@ start_parameter (GMarkupParseContext *context, GIIrNodeParam *param; if (!(strcmp (element_name, "parameter") == 0 && - ctx->state == STATE_FUNCTION_PARAMETERS)) + ctx->state == STATE_FUNCTION_PARAMETERS)) return FALSE; name = find_attribute ("name", attribute_names, attribute_values); @@ -1250,9 +1250,9 @@ start_parameter (GMarkupParseContext *context, param->in = FALSE; param->out = TRUE; if (caller_allocates == NULL) - param->caller_allocates = FALSE; + param->caller_allocates = FALSE; else - param->caller_allocates = strcmp (caller_allocates, "1") == 0; + param->caller_allocates = strcmp (caller_allocates, "1") == 0; } else if (direction && strcmp (direction, "inout") == 0) { @@ -1319,26 +1319,26 @@ start_parameter (GMarkupParseContext *context, case GI_IR_NODE_FUNCTION: case GI_IR_NODE_CALLBACK: { - GIIrNodeFunction *func; + GIIrNodeFunction *func; - func = (GIIrNodeFunction *)CURRENT_NODE (ctx); - func->parameters = g_list_append (func->parameters, param); + func = (GIIrNodeFunction *)CURRENT_NODE (ctx); + func->parameters = g_list_append (func->parameters, param); } break; case GI_IR_NODE_SIGNAL: { - GIIrNodeSignal *signal; + GIIrNodeSignal *signal; - signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); - signal->parameters = g_list_append (signal->parameters, param); + signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); + signal->parameters = g_list_append (signal->parameters, param); } break; case GI_IR_NODE_VFUNC: { - GIIrNodeVFunc *vfunc; + GIIrNodeVFunc *vfunc; - vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); - vfunc->parameters = g_list_append (vfunc->parameters, param); + vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); + vfunc->parameters = g_list_append (vfunc->parameters, param); } break; default: @@ -1350,11 +1350,11 @@ start_parameter (GMarkupParseContext *context, static gboolean start_field (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *readable; @@ -1435,55 +1435,55 @@ start_field (GMarkupParseContext *context, { case GI_IR_NODE_OBJECT: { - GIIrNodeInterface *iface; + GIIrNodeInterface *iface; - iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); - iface->members = g_list_append (iface->members, field); + iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); + iface->members = g_list_append (iface->members, field); } break; case GI_IR_NODE_INTERFACE: { - GIIrNodeInterface *iface; + GIIrNodeInterface *iface; - iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); - iface->members = g_list_append (iface->members, field); + iface = (GIIrNodeInterface *)CURRENT_NODE (ctx); + iface->members = g_list_append (iface->members, field); } break; case GI_IR_NODE_BOXED: { - GIIrNodeBoxed *boxed; + GIIrNodeBoxed *boxed; - boxed = (GIIrNodeBoxed *)CURRENT_NODE (ctx); - boxed->members = g_list_append (boxed->members, field); + boxed = (GIIrNodeBoxed *)CURRENT_NODE (ctx); + boxed->members = g_list_append (boxed->members, field); } break; case GI_IR_NODE_STRUCT: { - GIIrNodeStruct *struct_; + GIIrNodeStruct *struct_; - struct_ = (GIIrNodeStruct *)CURRENT_NODE (ctx); - struct_->members = g_list_append (struct_->members, field); + struct_ = (GIIrNodeStruct *)CURRENT_NODE (ctx); + struct_->members = g_list_append (struct_->members, field); } break; case GI_IR_NODE_UNION: { - GIIrNodeUnion *union_; + GIIrNodeUnion *union_; - union_ = (GIIrNodeUnion *)CURRENT_NODE (ctx); - union_->members = g_list_append (union_->members, field); - if (branch) - { - GIIrNodeConstant *constant; + union_ = (GIIrNodeUnion *)CURRENT_NODE (ctx); + union_->members = g_list_append (union_->members, field); + if (branch) + { + GIIrNodeConstant *constant; - constant = (GIIrNodeConstant *) gi_ir_node_new (GI_IR_NODE_CONSTANT, + constant = (GIIrNodeConstant *) gi_ir_node_new (GI_IR_NODE_CONSTANT, ctx->current_module); - ((GIIrNode *)constant)->name = g_strdup (name); - constant->value = g_strdup (branch); - constant->type = union_->discriminator_type; - constant->deprecated = FALSE; + ((GIIrNode *)constant)->name = g_strdup (name); + constant->value = g_strdup (branch); + constant->type = union_->discriminator_type; + constant->deprecated = FALSE; - union_->discriminators = g_list_append (union_->discriminators, constant); - } + union_->discriminators = g_list_append (union_->discriminators, constant); + } } break; default: @@ -1495,11 +1495,11 @@ start_field (GMarkupParseContext *context, static gboolean start_alias (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; @@ -1518,11 +1518,11 @@ start_alias (GMarkupParseContext *context, static gboolean start_enum (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *typename; @@ -1532,7 +1532,7 @@ start_enum (GMarkupParseContext *context, GIIrNodeEnum *enum_; if (!((strcmp (element_name, "enumeration") == 0 && ctx->state == STATE_NAMESPACE) || - (strcmp (element_name, "bitfield") == 0 && ctx->state == STATE_NAMESPACE))) + (strcmp (element_name, "bitfield") == 0 && ctx->state == STATE_NAMESPACE))) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_ENUM)) @@ -1575,11 +1575,11 @@ start_enum (GMarkupParseContext *context, static gboolean start_property (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { ParseState target_state; const gchar *name; @@ -1594,8 +1594,8 @@ start_property (GMarkupParseContext *context, GIIrNodeInterface *iface; if (!(strcmp (element_name, "property") == 0 && - (ctx->state == STATE_CLASS || - ctx->state == STATE_INTERFACE))) + (ctx->state == STATE_CLASS || + ctx->state == STATE_INTERFACE))) return FALSE; if (ctx->state == STATE_CLASS) @@ -1684,11 +1684,11 @@ parse_value (const gchar *str) static gboolean start_member (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *value; @@ -1698,7 +1698,7 @@ start_member (GMarkupParseContext *context, GIIrNodeValue *value_; if (!(strcmp (element_name, "member") == 0 && - ctx->state == STATE_ENUM)) + ctx->state == STATE_ENUM)) return FALSE; name = find_attribute ("name", attribute_names, attribute_values); @@ -1736,11 +1736,11 @@ start_member (GMarkupParseContext *context, static gboolean start_constant (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { ParseState prev_state; ParseState target_state; @@ -1750,9 +1750,9 @@ start_constant (GMarkupParseContext *context, GIIrNodeConstant *constant; if (!(strcmp (element_name, "constant") == 0 && - (ctx->state == STATE_NAMESPACE || - ctx->state == STATE_CLASS || - ctx->state == STATE_INTERFACE))) + (ctx->state == STATE_NAMESPACE || + ctx->state == STATE_CLASS || + ctx->state == STATE_INTERFACE))) return FALSE; switch (ctx->state) @@ -1807,7 +1807,7 @@ start_constant (GMarkupParseContext *context, { push_node (ctx, (GIIrNode *) constant); ctx->current_module->entries = - g_list_append (ctx->current_module->entries, constant); + g_list_append (ctx->current_module->entries, constant); } else { @@ -1822,11 +1822,11 @@ start_constant (GMarkupParseContext *context, static gboolean start_interface (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *typename; @@ -1836,7 +1836,7 @@ start_interface (GMarkupParseContext *context, GIIrNodeInterface *iface; if (!(strcmp (element_name, "interface") == 0 && - ctx->state == STATE_NAMESPACE)) + ctx->state == STATE_NAMESPACE)) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_INTERFACE)) @@ -1884,11 +1884,11 @@ start_interface (GMarkupParseContext *context, static gboolean start_class (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *parent; @@ -1906,7 +1906,7 @@ start_class (GMarkupParseContext *context, GIIrNodeInterface *iface; if (!(strcmp (element_name, "class") == 0 && - ctx->state == STATE_NAMESPACE)) + ctx->state == STATE_NAMESPACE)) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_CLASS)) @@ -1977,11 +1977,11 @@ start_class (GMarkupParseContext *context, static gboolean start_type (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *ctype; @@ -2003,22 +2003,22 @@ start_type (GMarkupParseContext *context, ctx->type_parameters = NULL; } else if (ctx->state == STATE_FUNCTION_PARAMETER || - ctx->state == STATE_FUNCTION_RETURN || - ctx->state == STATE_STRUCT_FIELD || - ctx->state == STATE_UNION_FIELD || - ctx->state == STATE_CLASS_PROPERTY || - ctx->state == STATE_CLASS_FIELD || - ctx->state == STATE_INTERFACE_FIELD || - ctx->state == STATE_INTERFACE_PROPERTY || - ctx->state == STATE_BOXED_FIELD || - ctx->state == STATE_NAMESPACE_CONSTANT || - ctx->state == STATE_CLASS_CONSTANT || - ctx->state == STATE_INTERFACE_CONSTANT || - ctx->state == STATE_ALIAS - ) + ctx->state == STATE_FUNCTION_RETURN || + ctx->state == STATE_STRUCT_FIELD || + ctx->state == STATE_UNION_FIELD || + ctx->state == STATE_CLASS_PROPERTY || + ctx->state == STATE_CLASS_FIELD || + ctx->state == STATE_INTERFACE_FIELD || + ctx->state == STATE_INTERFACE_PROPERTY || + ctx->state == STATE_BOXED_FIELD || + ctx->state == STATE_NAMESPACE_CONSTANT || + ctx->state == STATE_CLASS_CONSTANT || + ctx->state == STATE_INTERFACE_CONSTANT || + ctx->state == STATE_ALIAS + ) { if (ctx->state == STATE_ALIAS) - in_alias = TRUE; + in_alias = TRUE; state_switch (ctx, STATE_TYPE); ctx->type_depth = 1; ctx->type_stack = NULL; @@ -2033,27 +2033,27 @@ start_type (GMarkupParseContext *context, char *value; if (name == NULL) - { - MISSING_ATTRIBUTE (context, error, element_name, "name"); - return FALSE; - } + { + MISSING_ATTRIBUTE (context, error, element_name, "name"); + return FALSE; + } key = g_strdup_printf ("%s.%s", ctx->namespace, ctx->current_alias); if (!strchr (name, '.')) - { - const BasicTypeInfo *basic = parse_basic (name); - if (!basic) - { - /* For non-basic types, re-qualify the interface */ - value = g_strdup_printf ("%s.%s", ctx->namespace, name); - } - else - { - value = g_strdup (name); - } - } + { + const BasicTypeInfo *basic = parse_basic (name); + if (!basic) + { + /* For non-basic types, re-qualify the interface */ + value = g_strdup_printf ("%s.%s", ctx->namespace, name); + } + else + { + value = g_strdup (name); + } + } else - value = g_strdup (name); + value = g_strdup (name); g_hash_table_replace (ctx->aliases, key, value); @@ -2065,9 +2065,9 @@ start_type (GMarkupParseContext *context, if (!ctx->current_typed) { g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "The element is invalid here"); + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "The element is invalid here"); return FALSE; } @@ -2129,10 +2129,10 @@ start_type (GMarkupParseContext *context, int pointer_depth; if (name == NULL) - { - MISSING_ATTRIBUTE (context, error, element_name, "name"); - return FALSE; - } + { + MISSING_ATTRIBUTE (context, error, element_name, "name"); + return FALSE; + } pointer_depth = 0; ctype = find_attribute ("c:type", attribute_names, attribute_values); @@ -2142,9 +2142,9 @@ start_type (GMarkupParseContext *context, while (cp > ctype && *cp-- == '*') pointer_depth++; - if (g_str_has_prefix (ctype, "gpointer") - || g_str_has_prefix (ctype, "gconstpointer")) - pointer_depth++; + if (g_str_has_prefix (ctype, "gpointer") + || g_str_has_prefix (ctype, "gconstpointer")) + pointer_depth++; } if (ctx->current_typed->type == GI_IR_NODE_PARAM && @@ -2168,11 +2168,11 @@ start_type (GMarkupParseContext *context, &is_disguised); if (is_pointer || is_disguised) - pointer_depth++; + pointer_depth++; } if (pointer_depth > 0) - typenode->is_pointer = TRUE; + typenode->is_pointer = TRUE; } ctx->type_parameters = g_list_append (ctx->type_parameters, typenode); @@ -2196,41 +2196,41 @@ end_type_top (ParseContext *ctx) typenode->tag == GI_TYPE_TAG_GSLIST) { if (typenode->parameter_type1 == NULL) - typenode->parameter_type1 = parse_type (ctx, "gpointer"); + typenode->parameter_type1 = parse_type (ctx, "gpointer"); } else if (typenode->tag == GI_TYPE_TAG_GHASH) { if (typenode->parameter_type1 == NULL) - { - typenode->parameter_type1 = parse_type (ctx, "gpointer"); - typenode->parameter_type2 = parse_type (ctx, "gpointer"); - } + { + typenode->parameter_type1 = parse_type (ctx, "gpointer"); + typenode->parameter_type2 = parse_type (ctx, "gpointer"); + } } switch (ctx->current_typed->type) { case GI_IR_NODE_PARAM: { - GIIrNodeParam *param = (GIIrNodeParam *)ctx->current_typed; - param->type = typenode; + GIIrNodeParam *param = (GIIrNodeParam *)ctx->current_typed; + param->type = typenode; } break; case GI_IR_NODE_FIELD: { - GIIrNodeField *field = (GIIrNodeField *)ctx->current_typed; - field->type = typenode; + GIIrNodeField *field = (GIIrNodeField *)ctx->current_typed; + field->type = typenode; } break; case GI_IR_NODE_PROPERTY: { - GIIrNodeProperty *property = (GIIrNodeProperty *) ctx->current_typed; - property->type = typenode; + GIIrNodeProperty *property = (GIIrNodeProperty *) ctx->current_typed; + property->type = typenode; } break; case GI_IR_NODE_CONSTANT: { - GIIrNodeConstant *constant = (GIIrNodeConstant *)ctx->current_typed; - constant->type = typenode; + GIIrNodeConstant *constant = (GIIrNodeConstant *)ctx->current_typed; + constant->type = typenode; } break; default: @@ -2344,11 +2344,11 @@ start_attribute (GMarkupParseContext *context, static gboolean start_return_value (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { GIIrNodeParam *param; const gchar *transfer; @@ -2356,7 +2356,7 @@ start_return_value (GMarkupParseContext *context, const gchar *nullable; if (!(strcmp (element_name, "return-value") == 0 && - ctx->state == STATE_FUNCTION)) + ctx->state == STATE_FUNCTION)) return FALSE; param = (GIIrNodeParam *)gi_ir_node_new (GI_IR_NODE_PARAM, @@ -2388,20 +2388,20 @@ start_return_value (GMarkupParseContext *context, case GI_IR_NODE_FUNCTION: case GI_IR_NODE_CALLBACK: { - GIIrNodeFunction *func = (GIIrNodeFunction *)CURRENT_NODE (ctx); - func->result = param; + GIIrNodeFunction *func = (GIIrNodeFunction *)CURRENT_NODE (ctx); + func->result = param; } break; case GI_IR_NODE_SIGNAL: { - GIIrNodeSignal *signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); - signal->result = param; + GIIrNodeSignal *signal = (GIIrNodeSignal *)CURRENT_NODE (ctx); + signal->result = param; } break; case GI_IR_NODE_VFUNC: { - GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); - vfunc->result = param; + GIIrNodeVFunc *vfunc = (GIIrNodeVFunc *)CURRENT_NODE (ctx); + vfunc->result = param; } break; default: @@ -2413,11 +2413,11 @@ start_return_value (GMarkupParseContext *context, static gboolean start_implements (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { GIIrNodeInterface *iface; const char *name; @@ -2443,11 +2443,11 @@ start_implements (GMarkupParseContext *context, static gboolean start_glib_signal (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *when; @@ -2460,8 +2460,8 @@ start_glib_signal (GMarkupParseContext *context, GIIrNodeSignal *signal; if (!(strcmp (element_name, "glib:signal") == 0 && - (ctx->state == STATE_CLASS || - ctx->state == STATE_INTERFACE))) + (ctx->state == STATE_CLASS || + ctx->state == STATE_INTERFACE))) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_FUNCTION)) @@ -2526,11 +2526,11 @@ start_glib_signal (GMarkupParseContext *context, static gboolean start_vfunc (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *must_chain_up; @@ -2543,8 +2543,8 @@ start_vfunc (GMarkupParseContext *context, GIIrNodeVFunc *vfunc; if (!(strcmp (element_name, "virtual-method") == 0 && - (ctx->state == STATE_CLASS || - ctx->state == STATE_INTERFACE))) + (ctx->state == STATE_CLASS || + ctx->state == STATE_INTERFACE))) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_FUNCTION)) @@ -2617,11 +2617,11 @@ start_vfunc (GMarkupParseContext *context, static gboolean start_struct (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *deprecated; @@ -2637,10 +2637,10 @@ start_struct (GMarkupParseContext *context, GIIrNodeStruct *struct_; if (!(strcmp (element_name, "record") == 0 && - (ctx->state == STATE_NAMESPACE || - ctx->state == STATE_UNION || - ctx->state == STATE_STRUCT || - ctx->state == STATE_CLASS))) + (ctx->state == STATE_NAMESPACE || + ctx->state == STATE_UNION || + ctx->state == STATE_STRUCT || + ctx->state == STATE_CLASS))) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_STRUCT)) @@ -2711,11 +2711,11 @@ start_struct (GMarkupParseContext *context, static gboolean start_union (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *name; const gchar *deprecated; @@ -2726,10 +2726,10 @@ start_union (GMarkupParseContext *context, GIIrNodeUnion *union_; if (!(strcmp (element_name, "union") == 0 && - (ctx->state == STATE_NAMESPACE || - ctx->state == STATE_UNION || - ctx->state == STATE_STRUCT || - ctx->state == STATE_CLASS))) + (ctx->state == STATE_NAMESPACE || + ctx->state == STATE_UNION || + ctx->state == STATE_STRUCT || + ctx->state == STATE_CLASS))) return FALSE; if (!introspectable_prelude (context, attribute_names, attribute_values, ctx, STATE_UNION)) @@ -2770,16 +2770,16 @@ start_union (GMarkupParseContext *context, static gboolean start_discriminator (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + ParseContext *ctx, + GError **error) { const gchar *type; const gchar *offset; if (!(strcmp (element_name, "discriminator") == 0 && - ctx->state == STATE_UNION)) + ctx->state == STATE_UNION)) return FALSE; type = find_attribute ("type", attribute_names, attribute_values); @@ -2805,9 +2805,9 @@ start_discriminator (GMarkupParseContext *context, static gboolean parse_include (GMarkupParseContext *context, - ParseContext *ctx, - const char *name, - const char *version) + ParseContext *ctx, + const char *name, + const char *version) { GError *error = NULL; gchar *buffer; @@ -2821,20 +2821,20 @@ parse_include (GMarkupParseContext *context, GIIrModule *m = l->data; if (strcmp (m->name, name) == 0) - { - if (strcmp (m->version, version) == 0) - { - ctx->include_modules = g_list_prepend (ctx->include_modules, m); + { + if (strcmp (m->version, version) == 0) + { + ctx->include_modules = g_list_prepend (ctx->include_modules, m); - return TRUE; - } - else - { - g_printerr ("Module '%s' imported with conflicting versions '%s' and '%s'\n", - name, m->version, version); - return FALSE; - } - } + return TRUE; + } + else + { + g_printerr ("Module '%s' imported with conflicting versions '%s' and '%s'\n", + name, m->version, version); + return FALSE; + } + } } girname = g_strdup_printf ("%s-%s.gir", name, version); @@ -2843,7 +2843,7 @@ parse_include (GMarkupParseContext *context, if (girpath == NULL) { g_printerr ("Could not find GIR file '%s'; check XDG_DATA_DIRS or use --includedir\n", - girname); + girname); g_free (girname); return FALSE; } @@ -2873,7 +2873,7 @@ parse_include (GMarkupParseContext *context, g_free (girpath); ctx->include_modules = g_list_append (ctx->include_modules, - module); + module); return TRUE; } @@ -2882,11 +2882,11 @@ extern GLogLevelFlags logged_levels; static void start_element_handler (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - gpointer user_data, - GError **error) + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error) { ParseContext *ctx = user_data; @@ -2896,8 +2896,8 @@ start_element_handler (GMarkupParseContext *context, int i; for (i = 0; attribute_names[i]; i++) g_string_append_printf (tags, "%s=\"%s\" ", - attribute_names[i], - attribute_values[i]); + attribute_names[i], + attribute_values[i]); if (i) { @@ -2918,14 +2918,14 @@ start_element_handler (GMarkupParseContext *context, { case 'a': if (ctx->state == STATE_NAMESPACE && strcmp (element_name, "alias") == 0) - { - state_switch (ctx, STATE_ALIAS); - goto out; - } + { + state_switch (ctx, STATE_ALIAS); + goto out; + } if (start_type (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_attribute (context, element_name, attribute_names, attribute_values, ctx, error)) @@ -2933,29 +2933,29 @@ start_element_handler (GMarkupParseContext *context, break; case 'b': if (start_enum (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'c': if (start_function (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_constant (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_class (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'd': if (start_discriminator (context, element_name, - attribute_names, attribute_values, - ctx, error)) + attribute_names, attribute_values, + ctx, error)) goto out; if (strcmp ("doc", element_name) == 0 || strcmp ("doc-deprecated", element_name) == 0 || strcmp ("doc-stability", element_name) == 0 || strcmp ("doc-version", element_name) == 0 || @@ -2968,9 +2968,9 @@ start_element_handler (GMarkupParseContext *context, case 'e': if (start_enum (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'f': @@ -2980,192 +2980,192 @@ start_element_handler (GMarkupParseContext *context, goto out; } else if (start_function (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_field (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'g': if (start_glib_boxed (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_glib_signal (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'i': if (strcmp (element_name, "include") == 0 && - ctx->state == STATE_REPOSITORY) - { - const gchar *name; - const gchar *version; + ctx->state == STATE_REPOSITORY) + { + const gchar *name; + const gchar *version; - name = find_attribute ("name", attribute_names, attribute_values); - version = find_attribute ("version", attribute_names, attribute_values); + name = find_attribute ("name", attribute_names, attribute_values); + version = find_attribute ("version", attribute_names, attribute_values); - if (name == NULL) - { - MISSING_ATTRIBUTE (context, error, element_name, "name"); - break; - } - if (version == NULL) - { - MISSING_ATTRIBUTE (context, error, element_name, "version"); - break; - } + if (name == NULL) + { + MISSING_ATTRIBUTE (context, error, element_name, "name"); + break; + } + if (version == NULL) + { + MISSING_ATTRIBUTE (context, error, element_name, "version"); + break; + } - if (!parse_include (context, ctx, name, version)) - { - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Failed to parse included gir %s-%s", - name, - version); - return; - } + if (!parse_include (context, ctx, name, version)) + { + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Failed to parse included gir %s-%s", + name, + version); + return; + } - ctx->dependencies = g_list_prepend (ctx->dependencies, - g_strdup_printf ("%s-%s", name, version)); + ctx->dependencies = g_list_prepend (ctx->dependencies, + g_strdup_printf ("%s-%s", name, version)); - state_switch (ctx, STATE_INCLUDE); - goto out; - } + state_switch (ctx, STATE_INCLUDE); + goto out; + } if (start_interface (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_implements (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_instance_parameter (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (strcmp (element_name, "c:include") == 0) - { - state_switch (ctx, STATE_C_INCLUDE); - goto out; - } + { + state_switch (ctx, STATE_C_INCLUDE); + goto out; + } break; case 'm': if (start_function (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_member (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'n': if (strcmp (element_name, "namespace") == 0 && ctx->state == STATE_REPOSITORY) - { - const gchar *name, *version, *shared_library, *cprefix; + { + const gchar *name, *version, *shared_library, *cprefix; - if (ctx->current_module != NULL) - { - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Only one element is currently allowed per "); - goto out; - } + if (ctx->current_module != NULL) + { + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Only one element is currently allowed per "); + goto out; + } - name = find_attribute ("name", attribute_names, attribute_values); - version = find_attribute ("version", attribute_names, attribute_values); - shared_library = find_attribute ("shared-library", attribute_names, attribute_values); - cprefix = find_attribute ("c:identifier-prefixes", attribute_names, attribute_values); + name = find_attribute ("name", attribute_names, attribute_values); + version = find_attribute ("version", attribute_names, attribute_values); + shared_library = find_attribute ("shared-library", attribute_names, attribute_values); + cprefix = find_attribute ("c:identifier-prefixes", attribute_names, attribute_values); /* Backwards compatibility; vala currently still generates this */ if (cprefix == NULL) cprefix = find_attribute ("c:prefix", attribute_names, attribute_values); - if (name == NULL) - MISSING_ATTRIBUTE (context, error, element_name, "name"); - else if (version == NULL) - MISSING_ATTRIBUTE (context, error, element_name, "version"); - else - { - GList *l; + if (name == NULL) + MISSING_ATTRIBUTE (context, error, element_name, "name"); + else if (version == NULL) + MISSING_ATTRIBUTE (context, error, element_name, "version"); + else + { + GList *l; - if (strcmp (name, ctx->namespace) != 0) - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - " name element '%s' doesn't match file name '%s'", - name, ctx->namespace); + if (strcmp (name, ctx->namespace) != 0) + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + " name element '%s' doesn't match file name '%s'", + name, ctx->namespace); - ctx->current_module = gi_ir_module_new (name, version, shared_library, cprefix); + ctx->current_module = gi_ir_module_new (name, version, shared_library, cprefix); - ctx->current_module->aliases = ctx->aliases; - ctx->aliases = NULL; - ctx->current_module->disguised_structures = ctx->disguised_structures; - ctx->current_module->pointer_structures = ctx->pointer_structures; - ctx->disguised_structures = NULL; - ctx->pointer_structures = NULL; + ctx->current_module->aliases = ctx->aliases; + ctx->aliases = NULL; + ctx->current_module->disguised_structures = ctx->disguised_structures; + ctx->current_module->pointer_structures = ctx->pointer_structures; + ctx->disguised_structures = NULL; + ctx->pointer_structures = NULL; - for (l = ctx->include_modules; l; l = l->next) - gi_ir_module_add_include_module (ctx->current_module, l->data); + for (l = ctx->include_modules; l; l = l->next) + gi_ir_module_add_include_module (ctx->current_module, l->data); - g_list_free (ctx->include_modules); - ctx->include_modules = NULL; + g_list_free (ctx->include_modules); + ctx->include_modules = NULL; - ctx->modules = g_list_append (ctx->modules, ctx->current_module); - ctx->current_module->dependencies = ctx->dependencies; + ctx->modules = g_list_append (ctx->modules, ctx->current_module); + ctx->current_module->dependencies = ctx->dependencies; - state_switch (ctx, STATE_NAMESPACE); - goto out; - } - } + state_switch (ctx, STATE_NAMESPACE); + goto out; + } + } break; case 'p': if (start_property (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (strcmp (element_name, "parameters") == 0 && - ctx->state == STATE_FUNCTION) - { - state_switch (ctx, STATE_FUNCTION_PARAMETERS); + ctx->state == STATE_FUNCTION) + { + state_switch (ctx, STATE_FUNCTION_PARAMETERS); - goto out; - } + goto out; + } else if (start_parameter (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (strcmp (element_name, "prerequisite") == 0 && - ctx->state == STATE_INTERFACE) - { - const gchar *name; + ctx->state == STATE_INTERFACE) + { + const gchar *name; - name = find_attribute ("name", attribute_names, attribute_values); + name = find_attribute ("name", attribute_names, attribute_values); - state_switch (ctx, STATE_PREREQUISITE); + state_switch (ctx, STATE_PREREQUISITE); - if (name == NULL) - MISSING_ATTRIBUTE (context, error, element_name, "name"); - else - { - GIIrNodeInterface *iface; + if (name == NULL) + MISSING_ATTRIBUTE (context, error, element_name, "name"); + else + { + GIIrNodeInterface *iface; - iface = (GIIrNodeInterface *)CURRENT_NODE(ctx); - iface->prerequisites = g_list_append (iface->prerequisites, g_strdup (name)); - } - goto out; - } + iface = (GIIrNodeInterface *)CURRENT_NODE(ctx); + iface->prerequisites = g_list_append (iface->prerequisites, g_strdup (name)); + } + goto out; + } else if (strcmp (element_name, "package") == 0 && ctx->state == STATE_REPOSITORY) { @@ -3176,32 +3176,32 @@ start_element_handler (GMarkupParseContext *context, case 'r': if (strcmp (element_name, "repository") == 0 && ctx->state == STATE_START) - { - const gchar *version; + { + const gchar *version; - version = find_attribute ("version", attribute_names, attribute_values); + version = find_attribute ("version", attribute_names, attribute_values); - if (version == NULL) - MISSING_ATTRIBUTE (context, error, element_name, "version"); - else if (strcmp (version, SUPPORTED_GIR_VERSION) != 0) - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Unsupported version '%s'", - version); - else - state_switch (ctx, STATE_REPOSITORY); + if (version == NULL) + MISSING_ATTRIBUTE (context, error, element_name, "version"); + else if (strcmp (version, SUPPORTED_GIR_VERSION) != 0) + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Unsupported version '%s'", + version); + else + state_switch (ctx, STATE_REPOSITORY); - goto out; - } + goto out; + } else if (start_return_value (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; else if (start_struct (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 's': @@ -3213,27 +3213,27 @@ start_element_handler (GMarkupParseContext *context, break; case 'u': if (start_union (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 't': if (start_type (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; case 'v': if (start_vfunc (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; if (start_type (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; + attribute_names, attribute_values, + ctx, error)) + goto out; break; default: break; @@ -3244,9 +3244,9 @@ start_element_handler (GMarkupParseContext *context, gint line_number, char_number; g_markup_parse_context_get_position (context, &line_number, &char_number); if (!g_str_has_prefix (element_name, "c:")) - g_printerr ("%s:%d:%d: warning: element %s from state %d is unknown, ignoring\n", - ctx->file_path, line_number, char_number, element_name, - ctx->state); + g_printerr ("%s:%d:%d: warning: element %s from state %d is unknown, ignoring\n", + ctx->file_path, line_number, char_number, element_name, + ctx->state); state_switch (ctx, STATE_PASSTHROUGH); } @@ -3262,10 +3262,10 @@ start_element_handler (GMarkupParseContext *context, static gboolean require_one_of_end_elements (GMarkupParseContext *context, - ParseContext *ctx, - const char *actual_name, - GError **error, - ...) + ParseContext *ctx, + const char *actual_name, + GError **error, + ...) { va_list args; int line_number, char_number; @@ -3277,10 +3277,10 @@ require_one_of_end_elements (GMarkupParseContext *context, while ((expected = va_arg (args, const char*)) != NULL) { if (strcmp (expected, actual_name) == 0) - { - matched = TRUE; - break; - } + { + matched = TRUE; + break; + } } va_end (args); @@ -3290,11 +3290,11 @@ require_one_of_end_elements (GMarkupParseContext *context, g_markup_parse_context_get_position (context, &line_number, &char_number); g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Unexpected end tag '%s' on line %d char %d; current state=%d (prev=%d)", - actual_name, - line_number, char_number, ctx->state, ctx->prev_state); + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Unexpected end tag '%s' on line %d char %d; current state=%d (prev=%d)", + actual_name, + line_number, char_number, ctx->state, ctx->prev_state); return FALSE; } @@ -3335,19 +3335,19 @@ state_switch_end_struct_or_union (GMarkupParseContext *context, static gboolean require_end_element (GMarkupParseContext *context, - ParseContext *ctx, - const char *expected_name, - const char *actual_name, - GError **error) + ParseContext *ctx, + const char *expected_name, + const char *actual_name, + GError **error) { return require_one_of_end_elements (context, ctx, actual_name, error, expected_name, NULL); } static void end_element_handler (GMarkupParseContext *context, - const gchar *element_name, - gpointer user_data, - GError **error) + const gchar *element_name, + gpointer user_data, + GError **error) { ParseContext *ctx = user_data; @@ -3366,14 +3366,14 @@ end_element_handler (GMarkupParseContext *context, case STATE_INCLUDE: if (require_end_element (context, ctx, "include", element_name, error)) - { + { state_switch (ctx, STATE_REPOSITORY); } break; case STATE_C_INCLUDE: if (require_end_element (context, ctx, "c:include", element_name, error)) - { + { state_switch (ctx, STATE_REPOSITORY); } break; @@ -3387,7 +3387,7 @@ end_element_handler (GMarkupParseContext *context, case STATE_NAMESPACE: if (require_end_element (context, ctx, "namespace", element_name, error)) - { + { ctx->current_module = NULL; state_switch (ctx, STATE_REPOSITORY); } @@ -3395,198 +3395,198 @@ end_element_handler (GMarkupParseContext *context, case STATE_ALIAS: if (require_end_element (context, ctx, "alias", element_name, error)) - { - g_free (ctx->current_alias); - ctx->current_alias = NULL; - state_switch (ctx, STATE_NAMESPACE); - } + { + g_free (ctx->current_alias); + ctx->current_alias = NULL; + state_switch (ctx, STATE_NAMESPACE); + } break; case STATE_FUNCTION_RETURN: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "return-value", element_name, error)) - { - state_switch (ctx, STATE_FUNCTION); - } + { + state_switch (ctx, STATE_FUNCTION); + } break; case STATE_FUNCTION_PARAMETERS: if (require_end_element (context, ctx, "parameters", element_name, error)) - { - state_switch (ctx, STATE_FUNCTION); - } + { + state_switch (ctx, STATE_FUNCTION); + } break; case STATE_FUNCTION_PARAMETER: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "parameter", element_name, error)) - { - state_switch (ctx, STATE_FUNCTION_PARAMETERS); - } + { + state_switch (ctx, STATE_FUNCTION_PARAMETERS); + } break; case STATE_FUNCTION: { pop_node (ctx); - if (ctx->node_stack == NULL) - { - state_switch (ctx, STATE_NAMESPACE); - } - else - { + if (ctx->node_stack == NULL) + { + state_switch (ctx, STATE_NAMESPACE); + } + else + { g_debug("case STATE_FUNCTION %d", CURRENT_NODE (ctx)->type); if (ctx->in_embedded_state != STATE_NONE) { state_switch (ctx, ctx->in_embedded_state); ctx->in_embedded_state = STATE_NONE; } - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_INTERFACE) - state_switch (ctx, STATE_INTERFACE); - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_OBJECT) - state_switch (ctx, STATE_CLASS); - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_BOXED) - state_switch (ctx, STATE_BOXED); - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_STRUCT) - state_switch (ctx, STATE_STRUCT); - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_UNION) - state_switch (ctx, STATE_UNION); - else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_ENUM || - CURRENT_NODE (ctx)->type == GI_IR_NODE_FLAGS) - state_switch (ctx, STATE_ENUM); - else - { - int line_number, char_number; - g_markup_parse_context_get_position (context, &line_number, &char_number); - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Unexpected end tag '%s' on line %d char %d", - element_name, - line_number, char_number); - } - } + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_INTERFACE) + state_switch (ctx, STATE_INTERFACE); + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_OBJECT) + state_switch (ctx, STATE_CLASS); + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_BOXED) + state_switch (ctx, STATE_BOXED); + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_STRUCT) + state_switch (ctx, STATE_STRUCT); + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_UNION) + state_switch (ctx, STATE_UNION); + else if (CURRENT_NODE (ctx)->type == GI_IR_NODE_ENUM || + CURRENT_NODE (ctx)->type == GI_IR_NODE_FLAGS) + state_switch (ctx, STATE_ENUM); + else + { + int line_number, char_number; + g_markup_parse_context_get_position (context, &line_number, &char_number); + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Unexpected end tag '%s' on line %d char %d", + element_name, + line_number, char_number); + } + } } break; case STATE_CLASS_FIELD: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "field", element_name, error)) - { - state_switch (ctx, STATE_CLASS); - } + { + state_switch (ctx, STATE_CLASS); + } break; case STATE_CLASS_PROPERTY: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "property", element_name, error)) - { - state_switch (ctx, STATE_CLASS); - } + { + state_switch (ctx, STATE_CLASS); + } break; case STATE_CLASS: if (require_end_element (context, ctx, "class", element_name, error)) - { - pop_node (ctx); - state_switch (ctx, STATE_NAMESPACE); - } + { + pop_node (ctx); + state_switch (ctx, STATE_NAMESPACE); + } break; case STATE_INTERFACE_PROPERTY: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "property", element_name, error)) - { - state_switch (ctx, STATE_INTERFACE); - } + { + state_switch (ctx, STATE_INTERFACE); + } break; case STATE_INTERFACE_FIELD: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "field", element_name, error)) - { - state_switch (ctx, STATE_INTERFACE); - } + { + state_switch (ctx, STATE_INTERFACE); + } break; case STATE_INTERFACE: if (require_end_element (context, ctx, "interface", element_name, error)) - { - pop_node (ctx); - state_switch (ctx, STATE_NAMESPACE); - } + { + pop_node (ctx); + state_switch (ctx, STATE_NAMESPACE); + } break; case STATE_ENUM: if (strcmp ("member", element_name) == 0) - break; + break; else if (strcmp ("function", element_name) == 0) - break; + break; else if (require_one_of_end_elements (context, ctx, - element_name, error, "enumeration", - "bitfield", NULL)) - { - pop_node (ctx); - state_switch (ctx, STATE_NAMESPACE); - } + element_name, error, "enumeration", + "bitfield", NULL)) + { + pop_node (ctx); + state_switch (ctx, STATE_NAMESPACE); + } break; case STATE_BOXED: if (require_end_element (context, ctx, "glib:boxed", element_name, error)) - { - pop_node (ctx); - state_switch (ctx, STATE_NAMESPACE); - } + { + pop_node (ctx); + state_switch (ctx, STATE_NAMESPACE); + } break; case STATE_BOXED_FIELD: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "field", element_name, error)) - { - state_switch (ctx, STATE_BOXED); - } + { + state_switch (ctx, STATE_BOXED); + } break; case STATE_STRUCT_FIELD: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "field", element_name, error)) - { - state_switch (ctx, STATE_STRUCT); - } + { + state_switch (ctx, STATE_STRUCT); + } break; case STATE_STRUCT: if (require_end_element (context, ctx, "record", element_name, error)) - { - state_switch_end_struct_or_union (context, ctx, element_name, error); - } + { + state_switch_end_struct_or_union (context, ctx, element_name, error); + } break; case STATE_UNION_FIELD: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "field", element_name, error)) - { - state_switch (ctx, STATE_UNION); - } + { + state_switch (ctx, STATE_UNION); + } break; case STATE_UNION: if (require_end_element (context, ctx, "union", element_name, error)) - { - state_switch_end_struct_or_union (context, ctx, element_name, error); - } + { + state_switch_end_struct_or_union (context, ctx, element_name, error); + } break; case STATE_IMPLEMENTS: if (strcmp ("interface", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "implements", element_name, error)) state_switch (ctx, STATE_CLASS); break; @@ -3598,33 +3598,33 @@ end_element_handler (GMarkupParseContext *context, case STATE_CLASS_CONSTANT: case STATE_INTERFACE_CONSTANT: if (strcmp ("type", element_name) == 0) - break; + break; if (require_end_element (context, ctx, "constant", element_name, error)) - { - switch (ctx->state) - { - case STATE_NAMESPACE_CONSTANT: - pop_node (ctx); - state_switch (ctx, STATE_NAMESPACE); - break; - case STATE_CLASS_CONSTANT: - state_switch (ctx, STATE_CLASS); - break; - case STATE_INTERFACE_CONSTANT: - state_switch (ctx, STATE_INTERFACE); - break; - default: - g_assert_not_reached (); - break; - } - } + { + switch (ctx->state) + { + case STATE_NAMESPACE_CONSTANT: + pop_node (ctx); + state_switch (ctx, STATE_NAMESPACE); + break; + case STATE_CLASS_CONSTANT: + state_switch (ctx, STATE_CLASS); + break; + case STATE_INTERFACE_CONSTANT: + state_switch (ctx, STATE_INTERFACE); + break; + default: + g_assert_not_reached (); + break; + } + } break; case STATE_TYPE: if ((strcmp ("type", element_name) == 0) || (strcmp ("array", element_name) == 0) || - (strcmp ("varargs", element_name) == 0)) - { - end_type (ctx); - } + (strcmp ("varargs", element_name) == 0)) + { + end_type (ctx); + } break; case STATE_ATTRIBUTE: if (strcmp ("attribute", element_name) == 0) @@ -3646,18 +3646,18 @@ end_element_handler (GMarkupParseContext *context, static void text_handler (GMarkupParseContext *context, - const gchar *text, - gsize text_len, - gpointer user_data, - GError **error) + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error) { /* FIXME warn about non-whitespace text */ } static void cleanup (GMarkupParseContext *context, - GError *error, - gpointer user_data) + GError *error, + gpointer user_data) { ParseContext *ctx = user_data; GList *m; @@ -3728,7 +3728,7 @@ gi_ir_parser_parse_string (GIIrParser *parser, goto out; parser->parsed_modules = g_list_concat (g_list_copy (ctx.modules), - parser->parsed_modules); + parser->parsed_modules); out: @@ -3785,9 +3785,9 @@ gi_ir_parser_parse_file (GIIrParser *parser, if (!g_str_has_suffix (filename, ".gir")) { g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Expected filename to end with '.gir'"); + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Expected filename to end with '.gir'"); return NULL; } diff --git a/girepository/girwriter.c b/girepository/girwriter.c index c01aef27c..fc109deca 100644 --- a/girepository/girwriter.c +++ b/girepository/girwriter.c @@ -169,13 +169,13 @@ check_unresolved (GIBaseInfo *info) return; g_critical ("Found unresolved type '%s' '%s'", - gi_base_info_get_name (info), gi_base_info_get_namespace (info)); + gi_base_info_get_name (info), gi_base_info_get_namespace (info)); } static void write_type_name (const gchar *ns, - GIBaseInfo *info, - Xml *file) + GIBaseInfo *info, + Xml *file) { if (strcmp (ns, gi_base_info_get_namespace (info)) != 0) xml_printf (file, "%s.", gi_base_info_get_namespace (info)); @@ -185,9 +185,9 @@ write_type_name (const gchar *ns, static void write_type_name_attribute (const gchar *ns, - GIBaseInfo *info, - const char *attr_name, - Xml *file) + GIBaseInfo *info, + const char *attr_name, + Xml *file) { xml_printf (file, " %s=\"", attr_name); write_type_name (ns, info, file); @@ -216,8 +216,8 @@ write_ownership_transfer (GITransfer transfer, static void write_type_info (const gchar *ns, - GITypeInfo *info, - Xml *file) + GITypeInfo *info, + Xml *file) { gint tag; GITypeInfo *type; @@ -280,7 +280,7 @@ write_type_info (const gchar *ns, xml_printf (file, " fixed-size=\"%" G_GSSIZE_FORMAT "\"", size); if (gi_type_info_is_zero_terminated (info)) - xml_printf (file, " zero-terminated=\"1\""); + xml_printf (file, " zero-terminated=\"1\""); write_type_info (ns, type, file); @@ -302,10 +302,10 @@ write_type_info (const gchar *ns, xml_printf (file, " name=\"GLib.List\""); type = gi_type_info_get_param_type (info, 0); if (type) - { - write_type_info (ns, type, file); - gi_base_info_unref ((GIBaseInfo *)type); - } + { + write_type_info (ns, type, file); + gi_base_info_unref ((GIBaseInfo *)type); + } xml_end_element (file, "type"); } else if (tag == GI_TYPE_TAG_GSLIST) @@ -314,10 +314,10 @@ write_type_info (const gchar *ns, xml_printf (file, " name=\"GLib.SList\""); type = gi_type_info_get_param_type (info, 0); if (type) - { - write_type_info (ns, type, file); - gi_base_info_unref ((GIBaseInfo *)type); - } + { + write_type_info (ns, type, file); + gi_base_info_unref ((GIBaseInfo *)type); + } xml_end_element (file, "type"); } else if (tag == GI_TYPE_TAG_GHASH) @@ -326,13 +326,13 @@ write_type_info (const gchar *ns, xml_printf (file, " name=\"GLib.HashTable\""); type = gi_type_info_get_param_type (info, 0); if (type) - { - write_type_info (ns, type, file); - gi_base_info_unref ((GIBaseInfo *)type); - type = gi_type_info_get_param_type (info, 1); - write_type_info (ns, type, file); - gi_base_info_unref ((GIBaseInfo *)type); - } + { + write_type_info (ns, type, file); + gi_base_info_unref ((GIBaseInfo *)type); + type = gi_type_info_get_param_type (info, 1); + write_type_info (ns, type, file); + gi_base_info_unref ((GIBaseInfo *)type); + } xml_end_element (file, "type"); } else if (tag == GI_TYPE_TAG_ERROR) @@ -380,20 +380,20 @@ write_return_value_attributes (Xml *file, static void write_constant_value (const gchar *ns, - GITypeInfo *info, - GIArgument *argument, - Xml *file); + GITypeInfo *info, + GIArgument *argument, + Xml *file); static void write_callback_info (const gchar *ns, - GICallbackInfo *info, - Xml *file); + GICallbackInfo *info, + Xml *file); static void write_field_info (const gchar *ns, - GIFieldInfo *info, - GIConstantInfo *branch, - Xml *file) + GIFieldInfo *info, + GIConstantInfo *branch, + Xml *file) { const gchar *name; GIFieldInfoFlags flags; @@ -458,8 +458,8 @@ write_field_info (const gchar *ns, static void write_callable_info (const gchar *ns, - GICallableInfo *info, - Xml *file) + GICallableInfo *info, + Xml *file) { GITypeInfo *type; @@ -501,28 +501,28 @@ write_callable_info (const gchar *ns, write_ownership_transfer (gi_arg_info_get_ownership_transfer (arg), file); switch (gi_arg_info_get_direction (arg)) - { - case GI_DIRECTION_IN: - break; - case GI_DIRECTION_OUT: - xml_printf (file, " direction=\"out\" caller-allocates=\"%s\"", - gi_arg_info_is_caller_allocates (arg) ? "1" : "0"); - break; - case GI_DIRECTION_INOUT: - xml_printf (file, " direction=\"inout\""); - break; - default: - g_assert_not_reached (); - } + { + case GI_DIRECTION_IN: + break; + case GI_DIRECTION_OUT: + xml_printf (file, " direction=\"out\" caller-allocates=\"%s\"", + gi_arg_info_is_caller_allocates (arg) ? "1" : "0"); + break; + case GI_DIRECTION_INOUT: + xml_printf (file, " direction=\"inout\""); + break; + default: + g_assert_not_reached (); + } if (gi_arg_info_may_be_null (arg)) - xml_printf (file, " allow-none=\"1\""); + xml_printf (file, " allow-none=\"1\""); if (gi_arg_info_is_return_value (arg)) - xml_printf (file, " retval=\"1\""); + xml_printf (file, " retval=\"1\""); if (gi_arg_info_is_optional (arg)) - xml_printf (file, " optional=\"1\""); + xml_printf (file, " optional=\"1\""); switch (gi_arg_info_get_scope (arg)) { @@ -569,8 +569,8 @@ write_callable_info (const gchar *ns, static void write_function_info (const gchar *ns, - GIFunctionInfo *info, - Xml *file) + GIFunctionInfo *info, + Xml *file) { GIFunctionInfoFlags flags; const gchar *tag; @@ -620,8 +620,8 @@ write_function_info (const gchar *ns, static void write_callback_info (const gchar *ns, - GICallbackInfo *info, - Xml *file) + GICallbackInfo *info, + Xml *file) { const gchar *name; gboolean deprecated; @@ -641,8 +641,8 @@ write_callback_info (const gchar *ns, static void write_struct_info (const gchar *ns, - GIStructInfo *info, - Xml *file) + GIStructInfo *info, + Xml *file) { const gchar *name; const gchar *type_name; @@ -703,18 +703,18 @@ write_struct_info (const gchar *ns, if (n_elts > 0) { for (guint i = 0; i < gi_struct_info_get_n_fields (info); i++) - { - GIFieldInfo *field = gi_struct_info_get_field (info, i); - write_field_info (ns, field, NULL, file); - gi_base_info_unref ((GIBaseInfo *)field); - } + { + GIFieldInfo *field = gi_struct_info_get_field (info, i); + write_field_info (ns, field, NULL, file); + gi_base_info_unref ((GIBaseInfo *)field); + } for (guint i = 0; i < gi_struct_info_get_n_methods (info); i++) - { - GIFunctionInfo *function = gi_struct_info_get_method (info, i); - write_function_info (ns, function, file); - gi_base_info_unref ((GIBaseInfo *)function); - } + { + GIFunctionInfo *function = gi_struct_info_get_method (info, i); + write_function_info (ns, function, file); + gi_base_info_unref ((GIBaseInfo *)function); + } } @@ -723,8 +723,8 @@ write_struct_info (const gchar *ns, static void write_value_info (const gchar *ns, - GIValueInfo *info, - Xml *file) + GIValueInfo *info, + Xml *file) { const gchar *name; gint64 value; @@ -750,9 +750,9 @@ write_value_info (const gchar *ns, static void write_constant_value (const gchar *ns, - GITypeInfo *type, - GIArgument *value, - Xml *file) + GITypeInfo *type, + GIArgument *value, + Xml *file) { switch (gi_type_info_get_tag (type)) { @@ -800,8 +800,8 @@ write_constant_value (const gchar *ns, static void write_constant_info (const gchar *ns, - GIConstantInfo *info, - Xml *file) + GIConstantInfo *info, + Xml *file) { GITypeInfo *type; const gchar *name; @@ -831,8 +831,8 @@ write_constant_info (const gchar *ns, static void write_enum_info (const gchar *ns, - GIEnumInfo *info, - Xml *file) + GIEnumInfo *info, + Xml *file) { const gchar *name; const gchar *type_name; @@ -875,8 +875,8 @@ write_enum_info (const gchar *ns, static void write_signal_info (const gchar *ns, - GISignalInfo *info, - Xml *file) + GISignalInfo *info, + Xml *file) { GSignalFlags flags; const gchar *name; @@ -918,8 +918,8 @@ write_signal_info (const gchar *ns, static void write_vfunc_info (const gchar *ns, - GIVFuncInfo *info, - Xml *file) + GIVFuncInfo *info, + Xml *file) { GIVFuncInfoFlags flags; const gchar *name; @@ -962,8 +962,8 @@ write_vfunc_info (const gchar *ns, static void write_property_info (const gchar *ns, - GIPropertyInfo *info, - Xml *file) + GIPropertyInfo *info, + Xml *file) { GParamFlags flags; const gchar *name; @@ -1027,8 +1027,8 @@ write_property_info (const gchar *ns, static void write_object_info (const gchar *ns, - GIObjectInfo *info, - Xml *file) + GIObjectInfo *info, + Xml *file) { const gchar *name; const gchar *type_name; @@ -1101,13 +1101,13 @@ write_object_info (const gchar *ns, if (gi_object_info_get_n_interfaces (info) > 0) { for (guint i = 0; i < gi_object_info_get_n_interfaces (info); i++) - { - GIInterfaceInfo *imp = gi_object_info_get_interface (info, i); + { + GIInterfaceInfo *imp = gi_object_info_get_interface (info, i); xml_start_element (file, "implements"); - write_type_name_attribute (ns, (GIBaseInfo *)imp, "name", file); + write_type_name_attribute (ns, (GIBaseInfo *)imp, "name", file); xml_end_element (file, "implements"); - gi_base_info_unref ((GIBaseInfo*)imp); - } + gi_base_info_unref ((GIBaseInfo*)imp); + } } for (guint i = 0; i < gi_object_info_get_n_fields (info); i++) @@ -1157,8 +1157,8 @@ write_object_info (const gchar *ns, static void write_interface_info (const gchar *ns, - GIInterfaceInfo *info, - Xml *file) + GIInterfaceInfo *info, + Xml *file) { const gchar *name; const gchar *type_name; @@ -1173,7 +1173,7 @@ write_interface_info (const gchar *ns, type_init = gi_registered_type_info_get_type_init_function_name ((GIRegisteredTypeInfo*)info); xml_start_element (file, "interface"); xml_printf (file, " name=\"%s\" glib:type-name=\"%s\" glib:get-type=\"%s\"", - name, type_name, type_init); + name, type_name, type_init); class_struct = gi_interface_info_get_iface_struct (info); if (class_struct) @@ -1190,15 +1190,15 @@ write_interface_info (const gchar *ns, if (gi_interface_info_get_n_prerequisites (info) > 0) { for (guint i = 0; i < gi_interface_info_get_n_prerequisites (info); i++) - { - GIBaseInfo *req = gi_interface_info_get_prerequisite (info, i); + { + GIBaseInfo *req = gi_interface_info_get_prerequisite (info, i); - xml_start_element (file, "prerequisite"); - write_type_name_attribute (ns, req, "name", file); + xml_start_element (file, "prerequisite"); + write_type_name_attribute (ns, req, "name", file); xml_end_element_unchecked (file); - gi_base_info_unref (req); - } + gi_base_info_unref (req); + } } for (guint i = 0; i < gi_interface_info_get_n_methods (info); i++) @@ -1241,8 +1241,8 @@ write_interface_info (const gchar *ns, static void write_union_info (const gchar *ns, - GIUnionInfo *info, - Xml *file) + GIUnionInfo *info, + Xml *file) { const gchar *name; const gchar *type_name; @@ -1302,7 +1302,7 @@ write_union_info (const gchar *ns, write_field_info (ns, field, constant, file); gi_base_info_unref ((GIBaseInfo *)field); if (constant) - gi_base_info_unref ((GIBaseInfo *)constant); + gi_base_info_unref ((GIBaseInfo *)constant); } for (guint i = 0; i < gi_union_info_get_n_methods (info); i++) @@ -1349,19 +1349,19 @@ gi_ir_writer_write (const char *filename, gchar *full_filename; if (needs_prefix) - full_filename = g_strdup_printf ("%s-%s", ns, filename); + full_filename = g_strdup_printf ("%s-%s", ns, filename); else - full_filename = g_strdup (filename); + full_filename = g_strdup (filename); ofile = g_fopen (filename, "w"); if (ofile == NULL) - { - g_fprintf (stderr, "failed to open '%s': %s\n", - full_filename, g_strerror (errno)); - g_free (full_filename); + { + g_fprintf (stderr, "failed to open '%s': %s\n", + full_filename, g_strerror (errno)); + g_free (full_filename); - return; - } + return; + } g_free (full_filename); } @@ -1371,21 +1371,21 @@ gi_ir_writer_write (const char *filename, xml_printf (xml, "\n"); xml_start_element (xml, "repository"); xml_printf (xml, " version=\"1.0\"\n" - " xmlns=\"http://www.gtk.org/introspection/core/1.0\"\n" - " xmlns:c=\"http://www.gtk.org/introspection/c/1.0\"\n" - " xmlns:glib=\"http://www.gtk.org/introspection/glib/1.0\""); + " xmlns=\"http://www.gtk.org/introspection/core/1.0\"\n" + " xmlns:c=\"http://www.gtk.org/introspection/c/1.0\"\n" + " xmlns:glib=\"http://www.gtk.org/introspection/glib/1.0\""); dependencies = gi_repository_get_immediate_dependencies (repository, ns); if (dependencies != NULL) { for (i = 0; dependencies[i]; i++) - { - char **parts = g_strsplit (dependencies[i], "-", 2); - xml_start_element (xml, "include"); - xml_printf (xml, " name=\"%s\" version=\"%s\"", parts[0], parts[1]); - xml_end_element (xml, "include"); - g_strfreev (parts); - } + { + char **parts = g_strsplit (dependencies[i], "-", 2); + xml_start_element (xml, "include"); + xml_printf (xml, " name=\"%s\" version=\"%s\"", parts[0], parts[1]); + xml_end_element (xml, "include"); + g_strfreev (parts); + } } if (TRUE) @@ -1413,50 +1413,50 @@ gi_ir_writer_write (const char *filename, n_infos = gi_repository_get_n_infos (repository, cur_ns); for (j = 0; j < n_infos; j++) - { - GIBaseInfo *info = gi_repository_get_info (repository, cur_ns, j); - switch (gi_base_info_get_info_type (info)) - { - case GI_INFO_TYPE_FUNCTION: - write_function_info (ns, (GIFunctionInfo *)info, xml); - break; + { + GIBaseInfo *info = gi_repository_get_info (repository, cur_ns, j); + switch (gi_base_info_get_info_type (info)) + { + case GI_INFO_TYPE_FUNCTION: + write_function_info (ns, (GIFunctionInfo *)info, xml); + break; - case GI_INFO_TYPE_CALLBACK: - write_callback_info (ns, (GICallbackInfo *)info, xml); - break; + case GI_INFO_TYPE_CALLBACK: + write_callback_info (ns, (GICallbackInfo *)info, xml); + break; - case GI_INFO_TYPE_STRUCT: - case GI_INFO_TYPE_BOXED: - write_struct_info (ns, (GIStructInfo *)info, xml); - break; + case GI_INFO_TYPE_STRUCT: + case GI_INFO_TYPE_BOXED: + write_struct_info (ns, (GIStructInfo *)info, xml); + break; - case GI_INFO_TYPE_UNION: - write_union_info (ns, (GIUnionInfo *)info, xml); - break; + case GI_INFO_TYPE_UNION: + write_union_info (ns, (GIUnionInfo *)info, xml); + break; - case GI_INFO_TYPE_ENUM: - case GI_INFO_TYPE_FLAGS: - write_enum_info (ns, (GIEnumInfo *)info, xml); - break; + case GI_INFO_TYPE_ENUM: + case GI_INFO_TYPE_FLAGS: + write_enum_info (ns, (GIEnumInfo *)info, xml); + break; - case GI_INFO_TYPE_CONSTANT: - write_constant_info (ns, (GIConstantInfo *)info, xml); - break; + case GI_INFO_TYPE_CONSTANT: + write_constant_info (ns, (GIConstantInfo *)info, xml); + break; - case GI_INFO_TYPE_OBJECT: - write_object_info (ns, (GIObjectInfo *)info, xml); - break; + case GI_INFO_TYPE_OBJECT: + write_object_info (ns, (GIObjectInfo *)info, xml); + break; - case GI_INFO_TYPE_INTERFACE: - write_interface_info (ns, (GIInterfaceInfo *)info, xml); - break; + case GI_INFO_TYPE_INTERFACE: + write_interface_info (ns, (GIInterfaceInfo *)info, xml); + break; - default: - g_error ("unknown info type %d", gi_base_info_get_info_type (info)); - } + default: + g_error ("unknown info type %d", gi_base_info_get_info_type (info)); + } - gi_base_info_unref (info); - } + gi_base_info_unref (info); + } xml_end_element (xml, "namespace"); } diff --git a/girepository/gitypeinfo.c b/girepository/gitypeinfo.c index 9ecdfa28a..b292b0aef 100644 --- a/girepository/gitypeinfo.c +++ b/girepository/gitypeinfo.c @@ -257,10 +257,10 @@ gi_type_info_get_array_length_index (GITypeInfo *info) ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; if (blob->tag == GI_TYPE_TAG_ARRAY) - { - if (blob->has_length) - return blob->dimensions.length; - } + { + if (blob->has_length) + return blob->dimensions.length; + } } return -1; @@ -293,10 +293,10 @@ gi_type_info_get_array_fixed_size (GITypeInfo *info) ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; if (blob->tag == GI_TYPE_TAG_ARRAY) - { - if (blob->has_size) - return blob->dimensions.size; - } + { + if (blob->has_size) + return blob->dimensions.size; + } } return -1; @@ -329,7 +329,7 @@ gi_type_info_is_zero_terminated (GITypeInfo *info) ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; if (blob->tag == GI_TYPE_TAG_ARRAY) - return blob->zero_terminated; + return blob->zero_terminated; } return FALSE; diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h index f3de423b3..dc66eb100 100644 --- a/girepository/gitypelib-internal.h +++ b/girepository/gitypelib-internal.h @@ -735,12 +735,12 @@ typedef struct { * Since: 2.80 */ typedef struct { - guint8 pointer :1; - guint8 reserved :2; - guint8 tag :5; + guint8 pointer :1; + guint8 reserved :2; + guint8 tag :5; - guint8 reserved2; - guint16 n_types; + guint8 reserved2; + guint16 n_types; SimpleTypeBlob type[]; } ParamTypeBlob; diff --git a/girepository/gitypelib.c b/girepository/gitypelib.c index b23de4330..79191afb5 100644 --- a/girepository/gitypelib.c +++ b/girepository/gitypelib.c @@ -60,18 +60,18 @@ pop_context (ValidateContext *ctx) { g_assert (ctx->context_stack != NULL); ctx->context_stack = g_slist_delete_link (ctx->context_stack, - ctx->context_stack); + ctx->context_stack); } static gboolean validate_interface_blob (ValidateContext *ctx, - guint32 offset, - GError **error); + guint32 offset, + GError **error); static DirEntry * get_dir_entry_checked (GITypelib *typelib, - guint16 index, - GError **error) + guint16 index, + GError **error) { Header *header = (Header *)typelib->data; guint32 offset; @@ -79,9 +79,9 @@ get_dir_entry_checked (GITypelib *typelib, if (index == 0 || index > header->n_entries) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid directory index %d", index); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid directory index %d", index); return FALSE; } @@ -90,9 +90,9 @@ get_dir_entry_checked (GITypelib *typelib, if (typelib->len < offset + sizeof (DirEntry)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -102,15 +102,15 @@ get_dir_entry_checked (GITypelib *typelib, static CommonBlob * get_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { if (typelib->len < offset + sizeof (CommonBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } return (CommonBlob *)&typelib->data[offset]; @@ -118,25 +118,25 @@ get_blob (GITypelib *typelib, static InterfaceTypeBlob * get_type_blob (GITypelib *typelib, - SimpleTypeBlob *simple, - GError **error) + SimpleTypeBlob *simple, + GError **error) { if (simple->offset == 0) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "Expected blob for type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "Expected blob for type"); return FALSE; } if (simple->flags.reserved == 0 && simple->flags.reserved2 == 0) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "Expected non-basic type but got %d", - simple->flags.tag); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "Expected non-basic type but got %d", + simple->flags.tag); return FALSE; } @@ -164,7 +164,7 @@ gi_typelib_get_dir_entry (GITypelib *typelib, static Section * get_section_by_id (GITypelib *typelib, - SectionType section_type) + SectionType section_type) { Header *header = (Header *)typelib->data; Section *section; @@ -177,7 +177,7 @@ get_section_by_id (GITypelib *typelib, section++) { if (section->id == section_type) - return section; + return section; } return NULL; } @@ -208,12 +208,12 @@ gi_typelib_get_dir_entry_by_name (GITypelib *typelib, if (dirindex == NULL) { for (i = 1; i <= n_entries; i++) - { - entry = gi_typelib_get_dir_entry (typelib, i); - entry_name = gi_typelib_get_string (typelib, entry->name); - if (strcmp (name, entry_name) == 0) - return entry; - } + { + entry = gi_typelib_get_dir_entry (typelib, i); + entry_name = gi_typelib_get_string (typelib, entry->name); + if (strcmp (name, entry_name) == 0) + return entry; + } return NULL; } else @@ -225,7 +225,7 @@ gi_typelib_get_dir_entry_by_name (GITypelib *typelib, entry = gi_typelib_get_dir_entry (typelib, index + 1); entry_name = gi_typelib_get_string (typelib, entry->name); if (strcmp (name, entry_name) == 0) - return entry; + return entry; return NULL; } } @@ -255,15 +255,15 @@ gi_typelib_get_dir_entry_by_gtype_name (GITypelib *typelib, const char *type; DirEntry *entry = gi_typelib_get_dir_entry (typelib, i); if (!BLOB_IS_REGISTERED_TYPE (entry)) - continue; + continue; blob = (RegisteredTypeBlob *)(&typelib->data[entry->offset]); if (!blob->gtype_name) - continue; + continue; type = gi_typelib_get_string (typelib, blob->gtype_name); if (strcmp (type, gtype_name) == 0) - return entry; + return entry; } return NULL; } @@ -412,15 +412,15 @@ gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib, entry = gi_typelib_get_dir_entry (typelib, i); if (entry->blob_type != BLOB_TYPE_ENUM) - continue; + continue; blob = (EnumBlob *)(&typelib->data[entry->offset]); if (!blob->error_domain) - continue; + continue; enum_domain_string = gi_typelib_get_string (typelib, blob->error_domain); if (strcmp (domain_string, enum_domain_string) == 0) - return entry; + return entry; } return NULL; } @@ -445,7 +445,7 @@ gi_typelib_check_format (void) if (sizeof(s) != n) \ { \ g_printerr ("sizeof("#s") is expected to be %d but is %"G_GSIZE_FORMAT".\n", \ - n, sizeof (s)); \ + n, sizeof (s)); \ size_check_ok = FALSE; \ } @@ -503,9 +503,9 @@ get_string (GITypelib *typelib, guint32 offset, GError **error) if (typelib->len < offset) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "Buffer is too short while looking up name"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "Buffer is too short while looking up name"); return NULL; } @@ -522,9 +522,9 @@ get_string_nofail (GITypelib *typelib, guint32 offset) static gboolean validate_name (GITypelib *typelib, - const char *msg, - const guchar *data, guint32 offset, - GError **error) + const char *msg, + const guchar *data, guint32 offset, + GError **error) { const char *name; @@ -535,20 +535,20 @@ validate_name (GITypelib *typelib, if (!memchr (name, '\0', MAX_NAME_LEN)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The %s is too long: %s", - msg, name); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The %s is too long: %s", + msg, name); return FALSE; } if (strspn (name, G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "-_") < strlen (name)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The %s contains invalid characters: '%s'", - msg, name); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The %s contains invalid characters: '%s'", + msg, name); return FALSE; } @@ -558,27 +558,27 @@ validate_name (GITypelib *typelib, /* Fast path sanity check, operates on a memory blob */ static gboolean validate_header_basic (const guint8 *memory, - gsize len, - GError **error) + gsize len, + GError **error) { Header *header = (Header *)memory; if (len < sizeof (Header)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The specified typelib length %" G_GSIZE_FORMAT " is too short", - len); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The specified typelib length %" G_GSIZE_FORMAT " is too short", + len); return FALSE; } if (strncmp (header->magic, GI_IR_MAGIC, 16) != 0) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Invalid magic header"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Invalid magic header"); return FALSE; } @@ -586,10 +586,10 @@ validate_header_basic (const guint8 *memory, if (header->major_version != 4) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Typelib version mismatch; expected 4, found %d", - header->major_version); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Typelib version mismatch; expected 4, found %d", + header->major_version); return FALSE; } @@ -597,19 +597,19 @@ validate_header_basic (const guint8 *memory, if (header->n_entries < header->n_local_entries) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Inconsistent entry counts"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Inconsistent entry counts"); return FALSE; } if (header->size != len) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Typelib size %" G_GSIZE_FORMAT " does not match %" G_GSIZE_FORMAT, - (gsize) header->size, len); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Typelib size %" G_GSIZE_FORMAT " does not match %" G_GSIZE_FORMAT, + (gsize) header->size, len); return FALSE; } @@ -640,36 +640,36 @@ validate_header_basic (const guint8 *memory, header->union_blob_size != sizeof (UnionBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Blob size mismatch"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Blob size mismatch"); return FALSE; } if (!is_aligned (header->directory)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Misaligned directory"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Misaligned directory"); return FALSE; } if (!is_aligned (header->attributes)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Misaligned attributes"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Misaligned attributes"); return FALSE; } if (header->attributes == 0 && header->n_attributes > 0) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_HEADER, - "Wrong number of attributes"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_HEADER, + "Wrong number of attributes"); return FALSE; } @@ -678,7 +678,7 @@ validate_header_basic (const guint8 *memory, static gboolean validate_header (ValidateContext *ctx, - GError **error) + GError **error) { GITypelib *typelib = ctx->typelib; @@ -695,23 +695,23 @@ validate_header (ValidateContext *ctx, } static gboolean validate_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - GError **error); + guint32 offset, + guint32 signature_offset, + gboolean return_type, + GError **error); static gboolean validate_array_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - GError **error) + guint32 offset, + guint32 signature_offset, + gboolean return_type, + GError **error) { /* FIXME validate length */ if (!validate_type_blob (typelib, - offset + G_STRUCT_OFFSET (ArrayTypeBlob, type), - 0, FALSE, error)) + offset + G_STRUCT_OFFSET (ArrayTypeBlob, type), + 0, FALSE, error)) return FALSE; return TRUE; @@ -719,10 +719,10 @@ validate_array_type_blob (GITypelib *typelib, static gboolean validate_iface_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - GError **error) + guint32 offset, + guint32 signature_offset, + gboolean return_type, + GError **error) { InterfaceTypeBlob *blob; InterfaceBlob *target; @@ -741,11 +741,11 @@ validate_iface_type_blob (GITypelib *typelib, static gboolean validate_param_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - gint n_params, - GError **error) + guint32 offset, + guint32 signature_offset, + gboolean return_type, + gint n_params, + GError **error) { ParamTypeBlob *blob; gint i; @@ -755,28 +755,28 @@ validate_param_type_blob (GITypelib *typelib, if (!blob->pointer) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Pointer type exected for tag %d", blob->tag); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Pointer type exected for tag %d", blob->tag); return FALSE; } if (blob->n_types != n_params) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Parameter type number mismatch"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Parameter type number mismatch"); return FALSE; } for (i = 0; i < n_params; i++) { if (!validate_type_blob (typelib, - offset + sizeof (ParamTypeBlob) + - i * sizeof (SimpleTypeBlob), - 0, FALSE, error)) - return FALSE; + offset + sizeof (ParamTypeBlob) + + i * sizeof (SimpleTypeBlob), + 0, FALSE, error)) + return FALSE; } return TRUE; @@ -784,10 +784,10 @@ validate_param_type_blob (GITypelib *typelib, static gboolean validate_error_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - GError **error) + guint32 offset, + guint32 signature_offset, + gboolean return_type, + GError **error) { ErrorTypeBlob *blob; @@ -796,9 +796,9 @@ validate_error_type_blob (GITypelib *typelib, if (!blob->pointer) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Pointer type exected for tag %d", blob->tag); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Pointer type exected for tag %d", blob->tag); return FALSE; } @@ -807,10 +807,10 @@ validate_error_type_blob (GITypelib *typelib, static gboolean validate_type_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - gboolean return_type, - GError **error) + guint32 offset, + guint32 signature_offset, + gboolean return_type, + GError **error) { SimpleTypeBlob *simple; InterfaceTypeBlob *iface; @@ -821,24 +821,24 @@ validate_type_blob (GITypelib *typelib, simple->flags.reserved2 == 0) { if (!GI_TYPE_TAG_IS_BASIC(simple->flags.tag)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid non-basic tag %d in simple type", simple->flags.tag); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid non-basic tag %d in simple type", simple->flags.tag); + return FALSE; + } if (simple->flags.tag >= GI_TYPE_TAG_UTF8 && - simple->flags.tag != GI_TYPE_TAG_UNICHAR && - !simple->flags.pointer) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Pointer type exected for tag %d", simple->flags.tag); - return FALSE; - } + simple->flags.tag != GI_TYPE_TAG_UNICHAR && + !simple->flags.pointer) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Pointer type exected for tag %d", simple->flags.tag); + return FALSE; + } return TRUE; } @@ -849,35 +849,35 @@ validate_type_blob (GITypelib *typelib, { case GI_TYPE_TAG_ARRAY: if (!validate_array_type_blob (typelib, simple->offset, - signature_offset, return_type, error)) - return FALSE; + signature_offset, return_type, error)) + return FALSE; break; case GI_TYPE_TAG_INTERFACE: if (!validate_iface_type_blob (typelib, simple->offset, - signature_offset, return_type, error)) - return FALSE; + signature_offset, return_type, error)) + return FALSE; break; case GI_TYPE_TAG_GLIST: case GI_TYPE_TAG_GSLIST: if (!validate_param_type_blob (typelib, simple->offset, - signature_offset, return_type, 1, error)) - return FALSE; + signature_offset, return_type, 1, error)) + return FALSE; break; case GI_TYPE_TAG_GHASH: if (!validate_param_type_blob (typelib, simple->offset, - signature_offset, return_type, 2, error)) - return FALSE; + signature_offset, return_type, 2, error)) + return FALSE; break; case GI_TYPE_TAG_ERROR: if (!validate_error_type_blob (typelib, simple->offset, - signature_offset, return_type, error)) - return FALSE; + signature_offset, return_type, error)) + return FALSE; break; default: g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong tag in complex type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong tag in complex type"); return FALSE; } @@ -886,18 +886,18 @@ validate_type_blob (GITypelib *typelib, static gboolean validate_arg_blob (GITypelib *typelib, - guint32 offset, - guint32 signature_offset, - GError **error) + guint32 offset, + guint32 signature_offset, + GError **error) { ArgBlob *blob; if (typelib->len < offset + sizeof (ArgBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -907,8 +907,8 @@ validate_arg_blob (GITypelib *typelib, return FALSE; if (!validate_type_blob (typelib, - offset + G_STRUCT_OFFSET (ArgBlob, arg_type), - signature_offset, FALSE, error)) + offset + G_STRUCT_OFFSET (ArgBlob, arg_type), + signature_offset, FALSE, error)) return FALSE; return TRUE; @@ -916,16 +916,16 @@ validate_arg_blob (GITypelib *typelib, static SimpleTypeBlob * return_type_from_signature (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { SignatureBlob *blob; if (typelib->len < offset + sizeof (SignatureBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return NULL; } @@ -933,9 +933,9 @@ return_type_from_signature (GITypelib *typelib, if (blob->return_type.offset == 0) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "No return type found in signature"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "No return type found in signature"); return NULL; } @@ -944,8 +944,8 @@ return_type_from_signature (GITypelib *typelib, static gboolean validate_signature_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { SignatureBlob *blob; gint i; @@ -953,9 +953,9 @@ validate_signature_blob (GITypelib *typelib, if (typelib->len < offset + sizeof (SignatureBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -964,19 +964,19 @@ validate_signature_blob (GITypelib *typelib, if (blob->return_type.offset != 0) { if (!validate_type_blob (typelib, - offset + G_STRUCT_OFFSET (SignatureBlob, return_type), - offset, TRUE, error)) - return FALSE; + offset + G_STRUCT_OFFSET (SignatureBlob, return_type), + offset, TRUE, error)) + return FALSE; } for (i = 0; i < blob->n_arguments; i++) { if (!validate_arg_blob (typelib, - offset + sizeof (SignatureBlob) + - i * sizeof (ArgBlob), - offset, - error)) - return FALSE; + offset + sizeof (SignatureBlob) + + i * sizeof (ArgBlob), + offset, + error)) + return FALSE; } /* FIXME check constraints on return_value */ @@ -986,9 +986,9 @@ validate_signature_blob (GITypelib *typelib, static gboolean validate_function_blob (ValidateContext *ctx, - guint32 offset, - guint16 container_type, - GError **error) + guint32 offset, + guint16 container_type, + GError **error) { GITypelib *typelib = ctx->typelib; FunctionBlob *blob; @@ -996,9 +996,9 @@ validate_function_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (FunctionBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1007,9 +1007,9 @@ validate_function_blob (ValidateContext *ctx, if (blob->blob_type != BLOB_TYPE_FUNCTION) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type %d, expected function", blob->blob_type); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type %d, expected function", blob->blob_type); return FALSE; } @@ -1024,48 +1024,48 @@ validate_function_blob (ValidateContext *ctx, if (blob->constructor) { switch (container_type) - { - case BLOB_TYPE_BOXED: - case BLOB_TYPE_STRUCT: - case BLOB_TYPE_UNION: - case BLOB_TYPE_OBJECT: - case BLOB_TYPE_INTERFACE: - break; - default: - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Constructor not allowed"); - return FALSE; - } + { + case BLOB_TYPE_BOXED: + case BLOB_TYPE_STRUCT: + case BLOB_TYPE_UNION: + case BLOB_TYPE_OBJECT: + case BLOB_TYPE_INTERFACE: + break; + default: + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Constructor not allowed"); + return FALSE; + } } if (blob->setter || blob->getter || blob->wraps_vfunc) { switch (container_type) - { - case BLOB_TYPE_OBJECT: - case BLOB_TYPE_INTERFACE: - break; - default: - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Setter, getter or wrapper not allowed"); - return FALSE; - } + { + case BLOB_TYPE_OBJECT: + case BLOB_TYPE_INTERFACE: + break; + default: + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Setter, getter or wrapper not allowed"); + return FALSE; + } } if (blob->index) { if (!(blob->setter || blob->getter || blob->wraps_vfunc)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Must be setter, getter or wrapper"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Must be setter, getter or wrapper"); + return FALSE; + } } /* FIXME: validate index range */ @@ -1076,27 +1076,27 @@ validate_function_blob (ValidateContext *ctx, if (blob->constructor) { SimpleTypeBlob *simple = return_type_from_signature (typelib, - blob->signature, - error); + blob->signature, + error); InterfaceTypeBlob *iface_type; if (!simple) - return FALSE; + return FALSE; iface_type = get_type_blob (typelib, simple, error); if (!iface_type) - return FALSE; + return FALSE; if (iface_type->tag != GI_TYPE_TAG_INTERFACE && (container_type == BLOB_TYPE_OBJECT || container_type == BLOB_TYPE_INTERFACE)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "Invalid return type '%s' for constructor '%s'", - gi_type_tag_to_string (iface_type->tag), - get_string_nofail (typelib, blob->symbol)); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "Invalid return type '%s' for constructor '%s'", + gi_type_tag_to_string (iface_type->tag), + get_string_nofail (typelib, blob->symbol)); + return FALSE; + } } pop_context (ctx); @@ -1106,8 +1106,8 @@ validate_function_blob (ValidateContext *ctx, static gboolean validate_callback_blob (ValidateContext *ctx, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { GITypelib *typelib = ctx->typelib; CallbackBlob *blob; @@ -1115,9 +1115,9 @@ validate_callback_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (CallbackBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1126,9 +1126,9 @@ validate_callback_blob (ValidateContext *ctx, if (blob->blob_type != BLOB_TYPE_CALLBACK) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type"); return FALSE; } @@ -1147,8 +1147,8 @@ validate_callback_blob (ValidateContext *ctx, static gboolean validate_constant_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { guint value_size[] = { 0, /* VOID */ @@ -1182,9 +1182,9 @@ validate_constant_blob (GITypelib *typelib, if (typelib->len < offset + sizeof (ConstantBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1193,9 +1193,9 @@ validate_constant_blob (GITypelib *typelib, if (blob->blob_type != BLOB_TYPE_CONSTANT) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type"); return FALSE; } @@ -1203,15 +1203,15 @@ validate_constant_blob (GITypelib *typelib, return FALSE; if (!validate_type_blob (typelib, offset + G_STRUCT_OFFSET (ConstantBlob, type), - 0, FALSE, error)) + 0, FALSE, error)) return FALSE; if (!is_aligned (blob->offset)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Misaligned constant value"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Misaligned constant value"); return FALSE; } @@ -1219,23 +1219,23 @@ validate_constant_blob (GITypelib *typelib, if (type->flags.reserved == 0 && type->flags.reserved2 == 0) { if (type->flags.tag == 0) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Constant value type void"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Constant value type void"); + return FALSE; + } if (value_size[type->flags.tag] != 0 && - blob->size != value_size[type->flags.tag]) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Constant value size mismatch"); - return FALSE; - } + blob->size != value_size[type->flags.tag]) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Constant value size mismatch"); + return FALSE; + } /* FIXME check string values */ } @@ -1244,17 +1244,17 @@ validate_constant_blob (GITypelib *typelib, static gboolean validate_value_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { ValueBlob *blob; if (typelib->len < offset + sizeof (ValueBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1268,8 +1268,8 @@ validate_value_blob (GITypelib *typelib, static gboolean validate_field_blob (ValidateContext *ctx, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { GITypelib *typelib = ctx->typelib; Header *header = (Header *)typelib->data; @@ -1278,9 +1278,9 @@ validate_field_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (FieldBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1295,8 +1295,8 @@ validate_field_blob (ValidateContext *ctx, return FALSE; } else if (!validate_type_blob (typelib, - offset + G_STRUCT_OFFSET (FieldBlob, type), - 0, FALSE, error)) + offset + G_STRUCT_OFFSET (FieldBlob, type), + 0, FALSE, error)) return FALSE; return TRUE; @@ -1304,17 +1304,17 @@ validate_field_blob (ValidateContext *ctx, static gboolean validate_property_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { PropertyBlob *blob; if (typelib->len < offset + sizeof (PropertyBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1324,8 +1324,8 @@ validate_property_blob (GITypelib *typelib, return FALSE; if (!validate_type_blob (typelib, - offset + G_STRUCT_OFFSET (PropertyBlob, type), - 0, FALSE, error)) + offset + G_STRUCT_OFFSET (PropertyBlob, type), + 0, FALSE, error)) return FALSE; return TRUE; @@ -1333,9 +1333,9 @@ validate_property_blob (GITypelib *typelib, static gboolean validate_signal_blob (GITypelib *typelib, - guint32 offset, - guint32 container_offset, - GError **error) + guint32 offset, + guint32 container_offset, + GError **error) { SignalBlob *blob; gint n_signals; @@ -1343,9 +1343,9 @@ validate_signal_blob (GITypelib *typelib, if (typelib->len < offset + sizeof (SignalBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1359,39 +1359,39 @@ validate_signal_blob (GITypelib *typelib, (blob->run_cleanup != 0) != 1) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid signal run flags"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid signal run flags"); return FALSE; } if (blob->has_class_closure) { if (((CommonBlob*)&typelib->data[container_offset])->blob_type == BLOB_TYPE_OBJECT) - { - ObjectBlob *object; + { + ObjectBlob *object; - object = (ObjectBlob*)&typelib->data[container_offset]; + object = (ObjectBlob*)&typelib->data[container_offset]; - n_signals = object->n_signals; - } + n_signals = object->n_signals; + } else - { - InterfaceBlob *iface; + { + InterfaceBlob *iface; - iface = (InterfaceBlob*)&typelib->data[container_offset]; + iface = (InterfaceBlob*)&typelib->data[container_offset]; - n_signals = iface->n_signals; - } + n_signals = iface->n_signals; + } if (blob->class_closure >= n_signals) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid class closure index"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid class closure index"); + return FALSE; + } } if (!validate_signature_blob (typelib, blob->signature, error)) @@ -1402,9 +1402,9 @@ validate_signal_blob (GITypelib *typelib, static gboolean validate_vfunc_blob (GITypelib *typelib, - guint32 offset, - guint32 container_offset, - GError **error) + guint32 offset, + guint32 container_offset, + GError **error) { VFuncBlob *blob; gint n_vfuncs; @@ -1412,9 +1412,9 @@ validate_vfunc_blob (GITypelib *typelib, if (typelib->len < offset + sizeof (VFuncBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1426,30 +1426,30 @@ validate_vfunc_blob (GITypelib *typelib, if (blob->class_closure) { if (((CommonBlob*)&typelib->data[container_offset])->blob_type == BLOB_TYPE_OBJECT) - { - ObjectBlob *object; + { + ObjectBlob *object; - object = (ObjectBlob*)&typelib->data[container_offset]; + object = (ObjectBlob*)&typelib->data[container_offset]; - n_vfuncs = object->n_vfuncs; - } + n_vfuncs = object->n_vfuncs; + } else - { - InterfaceBlob *iface; + { + InterfaceBlob *iface; - iface = (InterfaceBlob*)&typelib->data[container_offset]; + iface = (InterfaceBlob*)&typelib->data[container_offset]; - n_vfuncs = iface->n_vfuncs; - } + n_vfuncs = iface->n_vfuncs; + } if (blob->class_closure >= n_vfuncs) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid class closure index"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid class closure index"); + return FALSE; + } } if (!validate_signature_blob (typelib, blob->signature, error)) @@ -1460,9 +1460,9 @@ validate_vfunc_blob (GITypelib *typelib, static gboolean validate_struct_blob (ValidateContext *ctx, - guint32 offset, - guint16 blob_type, - GError **error) + guint32 offset, + guint16 blob_type, + GError **error) { GITypelib *typelib = ctx->typelib; StructBlob *blob; @@ -1472,9 +1472,9 @@ validate_struct_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (StructBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1483,9 +1483,9 @@ validate_struct_blob (ValidateContext *ctx, if (blob->blob_type != blob_type) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type"); return FALSE; } @@ -1497,21 +1497,21 @@ validate_struct_blob (ValidateContext *ctx, if (!blob->unregistered) { if (!validate_name (typelib, "boxed", typelib->data, blob->gtype_name, error)) - return FALSE; + return FALSE; if (!validate_name (typelib, "boxed", typelib->data, blob->gtype_init, error)) - return FALSE; + return FALSE; } else { if (blob->gtype_name || blob->gtype_init) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Gtype data in struct"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Gtype data in struct"); + return FALSE; + } } if (typelib->len < offset + sizeof (StructBlob) + @@ -1519,9 +1519,9 @@ validate_struct_blob (ValidateContext *ctx, blob->n_methods * sizeof (FunctionBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1531,9 +1531,9 @@ validate_struct_blob (ValidateContext *ctx, FieldBlob *field_blob = (FieldBlob*) &typelib->data[field_offset]; if (!validate_field_blob (ctx, - field_offset, - error)) - return FALSE; + field_offset, + error)) + return FALSE; field_offset += sizeof (FieldBlob); if (field_blob->has_embedded_type) @@ -1543,11 +1543,11 @@ validate_struct_blob (ValidateContext *ctx, for (i = 0; i < blob->n_methods; i++) { if (!validate_function_blob (ctx, - field_offset + - i * sizeof (FunctionBlob), - blob_type, - error)) - return FALSE; + field_offset + + i * sizeof (FunctionBlob), + blob_type, + error)) + return FALSE; } pop_context (ctx); @@ -1557,9 +1557,9 @@ validate_struct_blob (ValidateContext *ctx, static gboolean validate_enum_blob (ValidateContext *ctx, - guint32 offset, - guint16 blob_type, - GError **error) + guint32 offset, + guint16 blob_type, + GError **error) { GITypelib *typelib = ctx->typelib; EnumBlob *blob; @@ -1569,9 +1569,9 @@ validate_enum_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (EnumBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1580,30 +1580,30 @@ validate_enum_blob (ValidateContext *ctx, if (blob->blob_type != blob_type) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type"); return FALSE; } if (!blob->unregistered) { if (!validate_name (typelib, "enum", typelib->data, blob->gtype_name, error)) - return FALSE; + return FALSE; if (!validate_name (typelib, "enum", typelib->data, blob->gtype_init, error)) - return FALSE; + return FALSE; } else { if (blob->gtype_name || blob->gtype_init) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Gtype data in unregistered enum"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Gtype data in unregistered enum"); + return FALSE; + } } if (!validate_name (typelib, "enum", typelib->data, blob->name, error)) @@ -1614,9 +1614,9 @@ validate_enum_blob (ValidateContext *ctx, blob->n_methods * sizeof (FunctionBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1627,35 +1627,35 @@ validate_enum_blob (ValidateContext *ctx, for (i = 0; i < blob->n_values; i++, offset2 += sizeof (ValueBlob)) { if (!validate_value_blob (typelib, - offset2, - error)) - return FALSE; + offset2, + error)) + return FALSE; #if 0 v1 = (ValueBlob *)&typelib->data[offset2]; for (j = 0; j < i; j++) - { - v2 = (ValueBlob *)&typelib->data[offset2 + + { + v2 = (ValueBlob *)&typelib->data[offset2 + j * sizeof (ValueBlob)]; - if (v1->value == v2->value) - { + if (v1->value == v2->value) + { - /* FIXME should this be an error ? */ - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Duplicate enum value"); - return FALSE; - } - } + /* FIXME should this be an error ? */ + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Duplicate enum value"); + return FALSE; + } + } #endif } for (i = 0; i < blob->n_methods; i++, offset2 += sizeof (FunctionBlob)) { if (!validate_function_blob (ctx, offset2, BLOB_TYPE_ENUM, error)) - return FALSE; + return FALSE; } pop_context (ctx); @@ -1665,8 +1665,8 @@ validate_enum_blob (ValidateContext *ctx, static gboolean validate_object_blob (ValidateContext *ctx, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { GITypelib *typelib = ctx->typelib; Header *header; @@ -1680,9 +1680,9 @@ validate_object_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (ObjectBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1691,9 +1691,9 @@ validate_object_blob (ValidateContext *ctx, if (blob->blob_type != BLOB_TYPE_OBJECT) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type"); return FALSE; } @@ -1709,9 +1709,9 @@ validate_object_blob (ValidateContext *ctx, if (blob->parent > header->n_entries) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid parent index"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid parent index"); return FALSE; } @@ -1723,14 +1723,14 @@ validate_object_blob (ValidateContext *ctx, if (!entry) return FALSE; if (entry->blob_type != BLOB_TYPE_OBJECT && - (entry->local || entry->blob_type != 0)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Parent not object"); - return FALSE; - } + (entry->local || entry->blob_type != 0)) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Parent not object"); + return FALSE; + } } if (blob->gtype_struct != 0) @@ -1761,9 +1761,9 @@ validate_object_blob (ValidateContext *ctx, { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1776,27 +1776,27 @@ validate_object_blob (ValidateContext *ctx, iface = *(guint16*)&typelib->data[offset2]; if (iface == 0 || iface > header->n_entries) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid interface index"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid interface index"); + return FALSE; + } entry = get_dir_entry_checked (typelib, iface, error); if (!entry) return FALSE; if (entry->blob_type != BLOB_TYPE_INTERFACE && - (entry->local || entry->blob_type != 0)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Not an interface"); - return FALSE; - } + (entry->local || entry->blob_type != 0)) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Not an interface"); + return FALSE; + } } offset2 += 2 * (blob->n_interfaces %2); @@ -1809,7 +1809,7 @@ validate_object_blob (ValidateContext *ctx, FieldBlob *field_blob = (FieldBlob*) &typelib->data[offset2]; if (!validate_field_blob (ctx, offset2, error)) - return FALSE; + return FALSE; offset2 += sizeof (FieldBlob); /* Special case fields which are callbacks. */ @@ -1833,31 +1833,31 @@ validate_object_blob (ValidateContext *ctx, for (i = 0; i < blob->n_properties; i++, offset2 += sizeof (PropertyBlob)) { if (!validate_property_blob (typelib, offset2, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_methods; i++, offset2 += sizeof (FunctionBlob)) { if (!validate_function_blob (ctx, offset2, BLOB_TYPE_OBJECT, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_signals; i++, offset2 += sizeof (SignalBlob)) { if (!validate_signal_blob (typelib, offset2, offset, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_vfuncs; i++, offset2 += sizeof (VFuncBlob)) { if (!validate_vfunc_blob (typelib, offset2, offset, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_constants; i++, offset2 += sizeof (ConstantBlob)) { if (!validate_constant_blob (typelib, offset2, error)) - return FALSE; + return FALSE; } pop_context (ctx); @@ -1867,8 +1867,8 @@ validate_object_blob (ValidateContext *ctx, static gboolean validate_interface_blob (ValidateContext *ctx, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { GITypelib *typelib = ctx->typelib; Header *header; @@ -1881,9 +1881,9 @@ validate_interface_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (InterfaceBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1892,9 +1892,9 @@ validate_interface_blob (ValidateContext *ctx, if (blob->blob_type != BLOB_TYPE_INTERFACE) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Wrong blob type; expected interface, got %d", blob->blob_type); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Wrong blob type; expected interface, got %d", blob->blob_type); return FALSE; } @@ -1917,9 +1917,9 @@ validate_interface_blob (ValidateContext *ctx, { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -1932,25 +1932,25 @@ validate_interface_blob (ValidateContext *ctx, req = *(guint16*)&typelib->data[offset2]; if (req == 0 || req > header->n_entries) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Invalid prerequisite index"); - return FALSE; - } + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Invalid prerequisite index"); + return FALSE; + } entry = gi_typelib_get_dir_entry (typelib, req); if (entry->blob_type != BLOB_TYPE_INTERFACE && - entry->blob_type != BLOB_TYPE_OBJECT && - (entry->local || entry->blob_type != 0)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_BLOB, - "Not an interface or object"); - return FALSE; - } + entry->blob_type != BLOB_TYPE_OBJECT && + (entry->local || entry->blob_type != 0)) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_BLOB, + "Not an interface or object"); + return FALSE; + } } offset2 += 2 * (blob->n_prerequisites % 2); @@ -1960,31 +1960,31 @@ validate_interface_blob (ValidateContext *ctx, for (i = 0; i < blob->n_properties; i++, offset2 += sizeof (PropertyBlob)) { if (!validate_property_blob (typelib, offset2, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_methods; i++, offset2 += sizeof (FunctionBlob)) { if (!validate_function_blob (ctx, offset2, BLOB_TYPE_INTERFACE, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_signals; i++, offset2 += sizeof (SignalBlob)) { if (!validate_signal_blob (typelib, offset2, offset, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_vfuncs; i++, offset2 += sizeof (VFuncBlob)) { if (!validate_vfunc_blob (typelib, offset2, offset, error)) - return FALSE; + return FALSE; } for (i = 0; i < blob->n_constants; i++, offset2 += sizeof (ConstantBlob)) { if (!validate_constant_blob (typelib, offset2, error)) - return FALSE; + return FALSE; } pop_context (ctx); @@ -1994,16 +1994,16 @@ validate_interface_blob (ValidateContext *ctx, static gboolean validate_union_blob (GITypelib *typelib, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { return TRUE; } static gboolean validate_blob (ValidateContext *ctx, - guint32 offset, - GError **error) + guint32 offset, + GError **error) { GITypelib *typelib = ctx->typelib; CommonBlob *common; @@ -2011,9 +2011,9 @@ validate_blob (ValidateContext *ctx, if (typelib->len < offset + sizeof (CommonBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -2023,43 +2023,43 @@ validate_blob (ValidateContext *ctx, { case BLOB_TYPE_FUNCTION: if (!validate_function_blob (ctx, offset, 0, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_CALLBACK: if (!validate_callback_blob (ctx, offset, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_STRUCT: case BLOB_TYPE_BOXED: if (!validate_struct_blob (ctx, offset, common->blob_type, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_ENUM: case BLOB_TYPE_FLAGS: if (!validate_enum_blob (ctx, offset, common->blob_type, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_OBJECT: if (!validate_object_blob (ctx, offset, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_INTERFACE: if (!validate_interface_blob (ctx, offset, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_CONSTANT: if (!validate_constant_blob (typelib, offset, error)) - return FALSE; + return FALSE; break; case BLOB_TYPE_UNION: if (!validate_union_blob (typelib, offset, error)) - return FALSE; + return FALSE; break; default: g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_ENTRY, - "Invalid blob type"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_ENTRY, + "Invalid blob type"); return FALSE; } @@ -2068,7 +2068,7 @@ validate_blob (ValidateContext *ctx, static gboolean validate_directory (ValidateContext *ctx, - GError **error) + GError **error) { GITypelib *typelib = ctx->typelib; Header *header = (Header *)typelib->data; @@ -2078,9 +2078,9 @@ validate_directory (ValidateContext *ctx, if (typelib->len < header->directory + header->n_entries * sizeof (DirEntry)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -2089,55 +2089,55 @@ validate_directory (ValidateContext *ctx, entry = gi_typelib_get_dir_entry (typelib, i + 1); if (!validate_name (typelib, "entry", typelib->data, entry->name, error)) - return FALSE; + return FALSE; if ((entry->local && entry->blob_type == BLOB_TYPE_INVALID) || - entry->blob_type > BLOB_TYPE_UNION) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_DIRECTORY, - "Invalid entry type"); - return FALSE; - } + entry->blob_type > BLOB_TYPE_UNION) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_DIRECTORY, + "Invalid entry type"); + return FALSE; + } if (i < header->n_local_entries) - { - if (!entry->local) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_DIRECTORY, - "Too few local directory entries"); - return FALSE; - } + { + if (!entry->local) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_DIRECTORY, + "Too few local directory entries"); + return FALSE; + } - if (!is_aligned (entry->offset)) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_DIRECTORY, - "Misaligned entry"); - return FALSE; - } + if (!is_aligned (entry->offset)) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_DIRECTORY, + "Misaligned entry"); + return FALSE; + } - if (!validate_blob (ctx, entry->offset, error)) - return FALSE; - } + if (!validate_blob (ctx, entry->offset, error)) + return FALSE; + } else - { - if (entry->local) - { - g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID_DIRECTORY, - "Too many local directory entries"); - return FALSE; - } + { + if (entry->local) + { + g_set_error (error, + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID_DIRECTORY, + "Too many local directory entries"); + return FALSE; + } - if (!validate_name (typelib, "namespace", typelib->data, entry->offset, error)) - return FALSE; - } + if (!validate_name (typelib, "namespace", typelib->data, entry->offset, error)) + return FALSE; + } } return TRUE; @@ -2145,7 +2145,7 @@ validate_directory (ValidateContext *ctx, static gboolean validate_attributes (ValidateContext *ctx, - GError **error) + GError **error) { GITypelib *typelib = ctx->typelib; Header *header = (Header *)typelib->data; @@ -2153,9 +2153,9 @@ validate_attributes (ValidateContext *ctx, if (header->size < header->attributes + header->n_attributes * sizeof (AttributeBlob)) { g_set_error (error, - GI_TYPELIB_ERROR, - GI_TYPELIB_ERROR_INVALID, - "The buffer is too short"); + GI_TYPELIB_ERROR, + GI_TYPELIB_ERROR_INVALID, + "The buffer is too short"); return FALSE; } @@ -2164,8 +2164,8 @@ validate_attributes (ValidateContext *ctx, static void prefix_with_context (GError **error, - const char *section, - ValidateContext *ctx) + const char *section, + ValidateContext *ctx) { GString *str; GSList *link; @@ -2184,7 +2184,7 @@ prefix_with_context (GError **error, { g_string_append (str, link->data); if (link->next) - g_string_append_c (str, '/'); + g_string_append_c (str, '/'); } g_string_append_c (str, ')'); buf = g_string_free (str, FALSE); diff --git a/girepository/giunioninfo.c b/girepository/giunioninfo.c index 890145232..6e9434fb4 100644 --- a/girepository/giunioninfo.c +++ b/girepository/giunioninfo.c @@ -213,9 +213,9 @@ gi_union_info_get_discriminator (GIUnionInfo *info, gint offset; offset = rinfo->offset + header->union_blob_size - + blob->n_fields * header->field_blob_size - + blob->n_functions * header->function_blob_size - + n * header->constant_blob_size; + + blob->n_fields * header->field_blob_size + + blob->n_functions * header->function_blob_size + + n * header->constant_blob_size; return (GIConstantInfo *) gi_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, rinfo->typelib, offset); diff --git a/girepository/giunioninfo.h b/girepository/giunioninfo.h index f0e0bbdd9..fb50ed9a5 100644 --- a/girepository/giunioninfo.h +++ b/girepository/giunioninfo.h @@ -72,7 +72,7 @@ GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info, GI_AVAILABLE_IN_ALL GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info, - const gchar *name); + const gchar *name); GI_AVAILABLE_IN_ALL gsize gi_union_info_get_size (GIUnionInfo *info); diff --git a/girepository/giunresolvedinfo.h b/girepository/giunresolvedinfo.h index 5ca487941..e2f68e2d6 100644 --- a/girepository/giunresolvedinfo.h +++ b/girepository/giunresolvedinfo.h @@ -39,7 +39,7 @@ G_BEGIN_DECLS * * Since: 2.80 */ -#define GI_IS_UNRESOLVED_INFO(info) \ +#define GI_IS_UNRESOLVED_INFO(info) \ (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_UNRESOLVED) G_END_DECLS