X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=types%2Finteger.c;h=373e4bc4af85ea068a13ddfff22a6e452409c99e;hp=40deeb2b6f969a2d45ef353359488b1f0c718c93;hb=05628561ca57ff5d269571a72a12cb86854c5f70;hpb=e19c3d69b39d2fa422ab54b5ec7192799f536680 diff --git a/types/integer.c b/types/integer.c index 40deeb2b..373e4bc4 100644 --- a/types/integer.c +++ b/types/integer.c @@ -32,7 +32,7 @@ void integer_copy(struct stream_pos *dest, const struct format *fdest, struct declaration *declaration) { struct declaration_integer *integer = - container_of(type, struct declaration_integer, p); + container_of(declaration, struct declaration_integer, p); struct type_integer *integer_type = integer->type; if (!integer_type->signedness) { @@ -61,9 +61,9 @@ struct type_integer * int signedness, size_t alignment) { struct type_integer *integer_type; - int ret; integer_type = g_new(struct type_integer, 1); + integer_type->p.id = CTF_TYPE_INTEGER; integer_type->p.name = g_quark_from_string(name); integer_type->p.alignment = alignment; integer_type->p.copy = integer_copy; @@ -74,13 +74,6 @@ struct type_integer * integer_type->len = len; integer_type->byte_order = byte_order; integer_type->signedness = signedness; - if (integer_type->p.name) { - ret = register_type(&integer_type->p); - if (ret) { - g_free(integer_type); - return NULL; - } - } return integer_type; } @@ -95,7 +88,8 @@ struct declaration * integer = g_new(struct declaration_integer, 1); type_ref(&integer_type->p); - integer->p.type = integer_type; + integer->p.type = type; + integer->type = integer_type; integer->p.ref = 1; integer->value._unsigned = 0; return &integer->p;