lib: have dedicated "dynamic array FC with/without length field" types
[babeltrace.git] / src / plugins / lttng-utils / debug-info / trace-ir-data-copy.c
index c25e4b3d794efa434f960cd4ea73fca4f7286052..6990c0404eb034672a7777fa42b34bb424a61088 100644 (file)
@@ -90,22 +90,18 @@ void copy_trace_content(const bt_trace *in_trace, bt_trace *out_trace,
                BT_ASSERT(value);
 
                if (bt_value_is_signed_integer(value)) {
-                       set_env_status =
-                               bt_trace_set_environment_entry_integer(
-                                               out_trace, value_name,
-                                               bt_value_integer_signed_get(
-                                                       value));
+                       set_env_status = bt_trace_set_environment_entry_integer(
+                               out_trace, value_name,
+                               bt_value_integer_signed_get( value));
                } else if (bt_value_is_string(value)) {
-                       set_env_status =
-                               bt_trace_set_environment_entry_string(
-                                       out_trace, value_name,
-                                       bt_value_string_get(value));
+                       set_env_status = bt_trace_set_environment_entry_string(
+                               out_trace, value_name,
+                               bt_value_string_get(value));
                } else {
                        abort();
                }
 
-               if (set_env_status !=
-                               BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK) {
+               if (set_env_status != BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK) {
                        BT_COMP_LOGE("Cannot copy trace's environment: "
                                "trace-addr=%p, name=\"%s\"",
                                out_trace, trace_name);
@@ -250,9 +246,13 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
                bt_field_integer_signed_set_value(out_field,
                                bt_field_integer_signed_get_value(in_field));
                break;
-       case BT_FIELD_CLASS_TYPE_REAL:
-               bt_field_real_set_value(out_field,
-                               bt_field_real_get_value(in_field));
+       case BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL:
+               bt_field_real_single_precision_set_value(out_field,
+                               bt_field_real_single_precision_get_value(in_field));
+               break;
+       case BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL:
+               bt_field_real_double_precision_set_value(out_field,
+                               bt_field_real_double_precision_get_value(in_field));
                break;
        case BT_FIELD_CLASS_TYPE_STRING:
        {
@@ -295,17 +295,18 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
                                        member);
                        in_member_field =
                                bt_field_structure_borrow_member_field_by_name_const(
-                                               in_field, in_member_name);
+                                       in_field, in_member_name);
                        out_member_field =
                                bt_field_structure_borrow_member_field_by_name(
-                                               out_field, in_member_name);
+                                       out_field, in_member_name);
 
                        copy_field_content(in_member_field,
                                out_member_field, log_level, self_comp);
                }
                break;
        }
-       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
                /* fall through */
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
        {
@@ -316,7 +317,8 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
 
                array_len = bt_field_array_get_length(in_field);
 
-               if (in_fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY) {
+               if (in_fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD ||
+                               in_fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD) {
                        set_len_status = bt_field_array_dynamic_set_length(
                                out_field, array_len);
                        if (set_len_status !=
@@ -340,7 +342,10 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
                }
                break;
        }
-       case BT_FIELD_CLASS_TYPE_OPTION:
+       case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR:
        {
                const bt_field *in_option_field;
                bt_field *out_option_field;
@@ -361,8 +366,8 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
                break;
        }
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
-       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR:
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR:
        {
                bt_field_variant_select_option_field_by_index_status sel_opt_status;
                uint64_t in_selected_option_idx;
@@ -371,9 +376,9 @@ void copy_field_content(const bt_field *in_field, bt_field *out_field,
 
                in_selected_option_idx =
                        bt_field_variant_get_selected_option_field_index(
-                                       in_field);
+                               in_field);
                sel_opt_status = bt_field_variant_select_option_field_by_index(out_field,
-                               in_selected_option_idx);
+                       in_selected_option_idx);
                if (sel_opt_status !=
                                BT_FIELD_VARIANT_SELECT_OPTION_FIELD_STATUS_OK) {
                        BT_COMP_LOGE("Cannot select variant field's option field: "
This page took 0.028023 seconds and 4 git commands to generate.