I/O structures accessors generation (work in progress)
[babeltrace.git] / types / integer.c
index 40deeb2b6f969a2d45ef353359488b1f0c718c93..373e4bc4af85ea068a13ddfff22a6e452409c99e 100644 (file)
@@ -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;
This page took 0.022672 seconds and 4 git commands to generate.