- len_fp = bt_field_class_dynamic_array_borrow_length_field_path_const(
- in_field_class);
-
- if (len_fp) {
- BT_COMP_LOGD("Copying dynamic array length field class using "
- "field path: in-len-fp=%p", len_fp);
- len_fc = resolve_field_path_to_field_class(
- len_fp, md_maps);
- out_len_field_class = g_hash_table_lookup(
- md_maps->field_class_map, len_fc);
- if (!out_len_field_class) {
- BT_COMP_LOGE_STR("Cannot find the output matching length"
- "field class.");
- ret = -1;
- goto error;
- }
-
- if (bt_field_class_dynamic_array_set_length_field_class(
- out_field_class, out_len_field_class) !=
- BT_FIELD_CLASS_DYNAMIC_ARRAY_SET_LENGTH_FIELD_CLASS_STATUS_OK) {
- BT_COMP_LOGE_STR("Cannot set dynamic array field class' "
- "length field class.");
- BT_FIELD_CLASS_PUT_REF_AND_RESET(out_len_field_class);
- ret = -1;
- goto error;
- }
- }
-