From: Philippe Proulx Date: Sun, 11 Aug 2019 15:31:38 +0000 (-0400) Subject: flt.lttng-utils.debug-info: copy boolean field class and field objects X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=f7cfbcc36cd0ca3cac478b88e717117908d0b651 flt.lttng-utils.debug-info: copy boolean field class and field objects Signed-off-by: Philippe Proulx Change-Id: Iaa66e2fc34740d249f014a3a7ec18006e74a2472 Reviewed-on: https://review.lttng.org/c/babeltrace/+/1892 Tested-by: jenkins Reviewed-by: Francis Deslauriers --- diff --git a/src/plugins/lttng-utils/debug-info/trace-ir-data-copy.c b/src/plugins/lttng-utils/debug-info/trace-ir-data-copy.c index 3bb1fba1..d805735a 100644 --- a/src/plugins/lttng-utils/debug-info/trace-ir-data-copy.c +++ b/src/plugins/lttng-utils/debug-info/trace-ir-data-copy.c @@ -219,6 +219,10 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field, BT_COMP_LOGT("Copying content of field: in-f-addr=%p, out-f-addr=%p", in_field, out_field); switch (in_fc_type) { + case BT_FIELD_CLASS_TYPE_BOOL: + bt_field_bool_set_value(out_field, + bt_field_bool_get_value(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, diff --git a/src/plugins/lttng-utils/debug-info/trace-ir-metadata-field-class-copy.c b/src/plugins/lttng-utils/debug-info/trace-ir-metadata-field-class-copy.c index 0b0d4d4c..868699e5 100644 --- a/src/plugins/lttng-utils/debug-info/trace-ir-metadata-field-class-copy.c +++ b/src/plugins/lttng-utils/debug-info/trace-ir-metadata-field-class-copy.c @@ -153,6 +153,21 @@ void field_class_integer_set_props(const bt_field_class *input_fc, bt_field_class_integer_get_field_value_range(input_fc)); } +static inline +int field_class_bool_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 boolean field class: " + "in-fc-addr=%p, out-fc-addr=%p", + in_field_class, out_field_class); + BT_COMP_LOGD("Copied content of boolean 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, @@ -561,6 +576,10 @@ bt_field_class *create_field_class_copy_internal(struct trace_ir_metadata_maps * in_field_class); switch (fc_type) { + case BT_FIELD_CLASS_TYPE_BOOL: + out_field_class = bt_field_class_bool_create( + md_maps->output_trace_class); + break; case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER: out_field_class = bt_field_class_integer_unsigned_create( md_maps->output_trace_class); @@ -700,6 +719,10 @@ int copy_field_class_content_internal( { int ret = 0; switch(bt_field_class_get_type(in_field_class)) { + case BT_FIELD_CLASS_TYPE_BOOL: + ret = field_class_bool_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);