X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Fstruct.c;h=5e7e2b4ef3ef740cd94fcfd396fadb05ea14a555;hp=baedbddb5f4ba6a08b58201cc29da9673a3e7b27;hb=64893f33bdc4bfe20820928b28731277797e41fc;hpb=3c5cc3765fc1ea6dab69e764d91ca5f591e985bd diff --git a/types/struct.c b/types/struct.c index baedbddb..5e7e2b4e 100644 --- a/types/struct.c +++ b/types/struct.c @@ -60,6 +60,7 @@ void _struct_type_free(struct type *type) container_of(type, struct type_struct, p); unsigned long i; + free_type_scope(struct_type->scope); g_hash_table_destroy(struct_type->fields_by_name); for (i = 0; i < struct_type->fields->len; i++) { @@ -72,7 +73,8 @@ void _struct_type_free(struct type *type) g_free(struct_type); } -struct type_struct *struct_type_new(const char *name) +struct type_struct *struct_type_new(const char *name, + struct type_scope *parent_scope) { struct type_struct *struct_type; struct type *type; @@ -84,6 +86,7 @@ struct type_struct *struct_type_new(const char *name) struct_type->fields = g_array_sized_new(FALSE, TRUE, sizeof(struct type_field), DEFAULT_NR_STRUCT_FIELDS); + struct_type->scope = new_type_scope(parent_scope); type->name = g_quark_from_string(name); type->alignment = 1; type->copy = struct_copy;