- switch (in_fc_type) {
- case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
- case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
- bt_field_unsigned_integer_set_value(out_field,
- bt_field_unsigned_integer_get_value(in_field));
- break;
- case BT_FIELD_CLASS_TYPE_SIGNED_INTEGER:
- case BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION:
- bt_field_signed_integer_set_value(out_field,
- bt_field_signed_integer_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));
- break;
- case BT_FIELD_CLASS_TYPE_STRING:
- {
+
+ if (in_fc_type == BT_FIELD_CLASS_TYPE_BOOL) {
+ bt_field_bool_set_value(out_field,
+ bt_field_bool_get_value(in_field));
+ } else if (in_fc_type == 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));
+ } else if (bt_field_class_type_is(in_fc_type,
+ BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER)) {
+ bt_field_integer_unsigned_set_value(out_field,
+ bt_field_integer_unsigned_get_value(in_field));
+ } else if (bt_field_class_type_is(in_fc_type,
+ BT_FIELD_CLASS_TYPE_SIGNED_INTEGER)) {
+ bt_field_integer_signed_set_value(out_field,
+ bt_field_integer_signed_get_value(in_field));
+ } else if (in_fc_type == 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));
+ } else if (in_fc_type == 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));
+ } else if (in_fc_type == BT_FIELD_CLASS_TYPE_STRING) {