X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Fvariant.c;h=1af0c790dc6fd5f56b5a1845f04a565c81add211;hp=2ab14a21cd4db6e9ecc031289553ff16702ed2d2;hb=0f980a3595f61930659e392b1248c59490dd5a22;hpb=d60cb676b003e5eb83566f9a2707b4dfea005020 diff --git a/types/variant.c b/types/variant.c index 2ab14a21..1af0c790 100644 --- a/types/variant.c +++ b/types/variant.c @@ -1,5 +1,5 @@ /* -* variant.c + * variant.c * * BabelTrace - Variant Type Converter * @@ -38,14 +38,16 @@ void variant_copy(struct stream_pos *dest, const struct format *fdest, struct declaration *field_declaration; fsrc->variant_begin(src, variant_declaration); - fdest->variant_begin(dest, variant_declaration); + if (fdest) + fdest->variant_begin(dest, variant_declaration); field = variant_get_current_field(variant); field_declaration = field->definition->declaration; field_declaration->copy(dest, fdest, src, fsrc, field->definition); fsrc->variant_end(src, variant_declaration); - fdest->variant_end(dest, variant_declaration); + if (fdest) + fdest->variant_end(dest, variant_declaration); } static @@ -68,7 +70,7 @@ void _untagged_variant_declaration_free(struct declaration *declaration) g_free(untagged_variant_declaration); } -struct declaration_untagged_variant *untagged_variant_declaration_new(const char *name, +struct declaration_untagged_variant *untagged_variant_declaration_new( struct declaration_scope *parent_scope) { struct declaration_untagged_variant *untagged_variant_declaration; @@ -83,7 +85,6 @@ struct declaration_untagged_variant *untagged_variant_declaration_new(const char DEFAULT_NR_STRUCT_FIELDS); untagged_variant_declaration->scope = new_declaration_scope(parent_scope); declaration->id = CTF_TYPE_UNTAGGED_VARIANT; - declaration->name = g_quark_from_string(name); declaration->alignment = 1; declaration->copy = NULL; declaration->declaration_free = _untagged_variant_declaration_free;