/*
-* variant.c
+ * variant.c
*
* BabelTrace - Variant Type Converter
*
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
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;
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;