X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Fcommon%2Fmetadata%2Fctf-meta-resolve.c;h=074c5dd13d431942d44a49b6bfb46827d7b7773e;hb=c4f23e30bf67d2523163614bc9461d84cbe1ae80;hp=05b67e93e5310f6e121127a2db9d590224f1d193;hpb=ef267d12284b855bc52ee429a5dc12da1d1e3b95;p=babeltrace.git diff --git a/src/plugins/ctf/common/metadata/ctf-meta-resolve.c b/src/plugins/ctf/common/metadata/ctf-meta-resolve.c index 05b67e93..074c5dd1 100644 --- a/src/plugins/ctf/common/metadata/ctf-meta-resolve.c +++ b/src/plugins/ctf/common/metadata/ctf-meta-resolve.c @@ -16,13 +16,14 @@ #define BT_COMP_LOG_SELF_COMP (ctx->self_comp) #define BT_LOG_OUTPUT_LEVEL (ctx->log_level) #define BT_LOG_TAG "PLUGIN/CTF/META/RESOLVE" -#include "plugins/comp-logging.h" +#include "logging/comp-logging.h" #include #include "common/macros.h" #include "common/assert.h" #include "common/common.h" #include +#include #include #include #include @@ -181,15 +182,10 @@ size_t field_class_stack_size(field_class_stack *stack) static struct field_class_stack_frame *field_class_stack_peek(field_class_stack *stack) { - struct field_class_stack_frame *entry = NULL; + BT_ASSERT(stack); + BT_ASSERT(!field_class_stack_empty(stack)); - if (!stack || field_class_stack_empty(stack)) { - goto end; - } - - entry = g_ptr_array_index(stack, stack->len - 1); -end: - return entry; + return g_ptr_array_index(stack, stack->len - 1); } /* @@ -199,16 +195,10 @@ static struct field_class_stack_frame *field_class_stack_at(field_class_stack *stack, size_t index) { - struct field_class_stack_frame *entry = NULL; - - if (!stack || index >= stack->len) { - goto end; - } - - entry = g_ptr_array_index(stack, index); + BT_ASSERT(stack); + BT_ASSERT(index < stack->len); -end: - return entry; + return g_ptr_array_index(stack, index); } /* @@ -265,14 +255,14 @@ enum ctf_scope get_root_scope_from_absolute_pathstr(const char *pathstr, struct resolve_context *ctx) { enum ctf_scope scope; - enum ctf_scope ret = -1; + enum ctf_scope ret = CTF_SCOPE_PACKET_UNKNOWN; const size_t prefixes_count = sizeof(absolute_path_prefixes) / sizeof(*absolute_path_prefixes); for (scope = CTF_SCOPE_PACKET_HEADER; scope < CTF_SCOPE_PACKET_HEADER + prefixes_count; scope++) { /* - * Chech if path string starts with a known absolute + * Check if path string starts with a known absolute * path prefix. * * Refer to CTF 7.3.2 STATIC AND DYNAMIC SCOPES. @@ -379,8 +369,8 @@ error: /* * Converts a path token list to a field path object. The path token * list is relative from `fc`. The index of the source looking for its - * target within `fc` is indicated by `src_index`. This can be `INT64_MAX` - * if the source is contained in `fc`. + * target within `fc` is indicated by `src_index`. This can be + * `INT64_MAX` if the source is contained in `fc`. * * `field_path` is an output parameter owned by the caller that must be * filled here. @@ -408,7 +398,7 @@ int ptokens_to_field_path(GList *ptokens, struct ctf_field_path *field_path, child_index = -1; } else { child_index = - ctf_field_class_compound_get_field_class_index_from_name( + ctf_field_class_compound_get_field_class_index_from_orig_name( fc, ft_name); if (child_index < 0) { /* @@ -661,7 +651,7 @@ int pathstr_to_field_path(const char *pathstr, /* Absolute or relative path? */ root_scope = get_root_scope_from_absolute_pathstr(pathstr, ctx); - if (root_scope == -1) { + if (root_scope == CTF_SCOPE_PACKET_UNKNOWN) { /* Relative path: start with current root scope */ field_path->root = ctx->root_scope; BT_COMP_LOGD("Detected relative path: starting with current root scope: " @@ -770,6 +760,7 @@ void get_ctx_stack_field_path(struct resolve_context *ctx, * Returns the index of the lowest common ancestor of two field path * objects having the same root scope. */ +static int64_t get_field_paths_lca_index(struct ctf_field_path *field_path1, struct ctf_field_path *field_path2, struct resolve_context *ctx)