projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib: have dedicated "dynamic array FC with/without length field" types
[babeltrace.git]
/
src
/
plugins
/
lttng-utils
/
debug-info
/
trace-ir-metadata-field-class-copy.c
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 60903dd661ff8c54a14ba285109a54271f6c987b..2ca790292e6d09eb5caaaa7fec440c2930829337 100644
(file)
--- 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
@@
-101,7
+101,8
@@
const bt_field_class *walk_field_path(struct trace_ir_metadata_maps *md_maps,
break;
}
case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
break;
}
case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
- 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:
{
BT_ASSERT(bt_field_path_item_get_type(fp_item) ==
BT_FIELD_PATH_ITEM_TYPE_CURRENT_ARRAY_ELEMENT);
{
BT_ASSERT(bt_field_path_item_get_type(fp_item) ==
BT_FIELD_PATH_ITEM_TYPE_CURRENT_ARRAY_ELEMENT);
@@
-716,24
+717,25
@@
bt_field_class *create_field_class_copy_internal(struct trace_ir_metadata_maps *
out_elem_fc, array_len);
break;
}
out_elem_fc, array_len);
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:
{
const bt_field_class *in_elem_fc =
bt_field_class_array_borrow_element_field_class_const(
in_field_class);
{
const bt_field_class *in_elem_fc =
bt_field_class_array_borrow_element_field_class_const(
in_field_class);
- const bt_field_path *length_fp =
- bt_field_class_array_dynamic_borrow_length_field_path_const(
- in_field_class);
bt_field_class *out_length_fc = NULL;
bt_field_class *out_length_fc = NULL;
-
bt_field_class *out_elem_fc = copy_field_class_array_element(
md_maps, in_elem_fc);
bt_field_class *out_elem_fc = copy_field_class_array_element(
md_maps, in_elem_fc);
+
if (!out_elem_fc) {
out_field_class = NULL;
goto error;
}
if (!out_elem_fc) {
out_field_class = NULL;
goto error;
}
- if (length_fp) {
+ if (fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD) {
+ const bt_field_path *length_fp =
+ bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(
+ in_field_class);
const bt_field_class *in_length_fc =
resolve_field_path_to_field_class(length_fp,
md_maps);
const bt_field_class *in_length_fc =
resolve_field_path_to_field_class(length_fp,
md_maps);
@@
-938,7
+940,8
@@
int copy_field_class_content_internal(
ret = field_class_static_array_copy(md_maps,
in_field_class, out_field_class);
break;
ret = field_class_static_array_copy(md_maps,
in_field_class, out_field_class);
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:
ret = field_class_dynamic_array_copy(md_maps,
in_field_class, out_field_class);
break;
ret = field_class_dynamic_array_copy(md_maps,
in_field_class, out_field_class);
break;
This page took
0.036068 seconds
and
4
git commands to generate.