flt.lttng-utils.debug-info: copy bit array field class and field objects
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Tue, 13 Aug 2019 22:43:18 +0000 (18:43 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 15 Aug 2019 15:41:44 +0000 (11:41 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: Iffb2083c21e57229e506577ab214cf6d8fc2da46
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1908
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Francis Deslauriers <francis.deslauriers@efficios.com>
src/plugins/lttng-utils/debug-info/trace-ir-data-copy.c
src/plugins/lttng-utils/debug-info/trace-ir-metadata-field-class-copy.c

index 2d27b85b0b6c5bc7d006a5288c0acfe6ef40e1b2..e499ea3c7c907e8be42289fa05d1c1e536084f7c 100644 (file)
@@ -223,6 +223,10 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
                bt_field_bool_set_value(out_field,
                        bt_field_bool_get_value(in_field));
                break;
+       case BT_FIELD_CLASS_TYPE_BIT_ARRAY:
+               bt_field_bit_array_set_value_as_integer(out_field,
+                       bt_field_bit_array_get_value_as_integer(in_field));
+               break;
        case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
        case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
                bt_field_integer_unsigned_set_value(out_field,
index e82d96d8dd75a92c8ec4a659787886b15029fd0e..2b1f4b04bc4617dfef8074e377c777bda5b0935e 100644 (file)
@@ -176,6 +176,21 @@ int field_class_bool_copy(
        return 0;
 }
 
+static inline
+int field_class_bit_array_copy(
+               struct trace_ir_metadata_maps *md_maps,
+               const bt_field_class *in_field_class,
+               bt_field_class *out_field_class)
+{
+       BT_COMP_LOGD("Copying content of bit array field class: "
+                       "in-fc-addr=%p, out-fc-addr=%p",
+                       in_field_class, out_field_class);
+       BT_COMP_LOGD("Copied content of bit array field class: "
+                       "in-fc-addr=%p, out-fc-addr=%p",
+                       in_field_class, out_field_class);
+       return 0;
+}
+
 static inline
 int field_class_unsigned_integer_copy(
                struct trace_ir_metadata_maps *md_maps,
@@ -608,6 +623,12 @@ bt_field_class *create_field_class_copy_internal(struct trace_ir_metadata_maps *
                out_field_class = bt_field_class_bool_create(
                                md_maps->output_trace_class);
                break;
+       case BT_FIELD_CLASS_TYPE_BIT_ARRAY:
+               out_field_class = bt_field_class_bit_array_create(
+                               md_maps->output_trace_class,
+                               bt_field_class_bit_array_get_length(
+                                       in_field_class));
+               break;
        case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
                out_field_class = bt_field_class_integer_unsigned_create(
                                md_maps->output_trace_class);
@@ -794,6 +815,10 @@ int copy_field_class_content_internal(
                ret = field_class_bool_copy(md_maps,
                                in_field_class, out_field_class);
                break;
+       case BT_FIELD_CLASS_TYPE_BIT_ARRAY:
+               ret = field_class_bit_array_copy(md_maps,
+                               in_field_class, out_field_class);
+               break;
        case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
                ret = field_class_unsigned_integer_copy(md_maps,
                                in_field_class, out_field_class);
This page took 0.026475 seconds and 4 git commands to generate.