X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Fcommon%2Fmetadata%2Fctf-meta-warn-meaningless-header-fields.cpp;h=ccad81cf18cdecb94b774236bca0861794636abe;hb=4164020e790fa6c0700715936b40a3fa46df479e;hp=03daddf96a2d1928a21e6568999f5d31be82e1a2;hpb=087cd0f57f0f7d815a609a4e041d1200f380e4aa;p=babeltrace.git diff --git a/src/plugins/ctf/common/metadata/ctf-meta-warn-meaningless-header-fields.cpp b/src/plugins/ctf/common/metadata/ctf-meta-warn-meaningless-header-fields.cpp index 03daddf9..ccad81cf 100644 --- a/src/plugins/ctf/common/metadata/ctf-meta-warn-meaningless-header-fields.cpp +++ b/src/plugins/ctf/common/metadata/ctf-meta-warn-meaningless-header-fields.cpp @@ -5,8 +5,8 @@ */ #define BT_COMP_LOG_SELF_COMP (log_cfg->self_comp) -#define BT_LOG_OUTPUT_LEVEL (log_cfg->log_level) -#define BT_LOG_TAG "PLUGIN/CTF/META/WARN-MEANINGLESS-HEADER-FIELDS" +#define BT_LOG_OUTPUT_LEVEL (log_cfg->log_level) +#define BT_LOG_TAG "PLUGIN/CTF/META/WARN-MEANINGLESS-HEADER-FIELDS" #include "logging/comp-logging.h" #include @@ -20,122 +20,108 @@ #include "ctf-meta-visitors.hpp" #include "logging.hpp" -static inline -void warn_meaningless_field(const char *name, const char *scope_name, - struct meta_log_config *log_cfg) +static inline void warn_meaningless_field(const char *name, const char *scope_name, + struct meta_log_config *log_cfg) { - BT_ASSERT(name); - BT_COMP_LOGW("User field found in %s: ignoring: name=\"%s\"", - scope_name, name); + BT_ASSERT(name); + BT_COMP_LOGW("User field found in %s: ignoring: name=\"%s\"", scope_name, name); } -static inline -void warn_meaningless_fields(struct ctf_field_class *fc, const char *name, - const char *scope_name, struct meta_log_config *log_cfg) +static inline void warn_meaningless_fields(struct ctf_field_class *fc, const char *name, + const char *scope_name, struct meta_log_config *log_cfg) { - uint64_t i; - - if (!fc) { - goto end; - } - - /* - * 'name' is guaranteed to be non-NULL whenever the field class is not a - * structure. In the case of a structure field class, its members' names - * are used. - */ - switch (fc->type) { - case CTF_FIELD_CLASS_TYPE_FLOAT: - case CTF_FIELD_CLASS_TYPE_STRING: - warn_meaningless_field(name, scope_name, log_cfg); - break; - case CTF_FIELD_CLASS_TYPE_INT: - case CTF_FIELD_CLASS_TYPE_ENUM: - { - struct ctf_field_class_int *int_fc = ctf_field_class_as_int(fc); - - if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE && - !int_fc->mapped_clock_class) { - warn_meaningless_field(name, scope_name, log_cfg); - } - - break; - } - case CTF_FIELD_CLASS_TYPE_STRUCT: - { - struct ctf_field_class_struct *struct_fc = ctf_field_class_as_struct(fc); - - for (i = 0; i < struct_fc->members->len; i++) { - struct ctf_named_field_class *named_fc = - ctf_field_class_struct_borrow_member_by_index( - struct_fc, i); - - warn_meaningless_fields(named_fc->fc, - named_fc->name->str, scope_name, log_cfg); - } - - break; - } - case CTF_FIELD_CLASS_TYPE_VARIANT: - { - struct ctf_field_class_variant *var_fc = ctf_field_class_as_variant(fc); - - for (i = 0; i < var_fc->options->len; i++) { - struct ctf_named_field_class *named_fc = - ctf_field_class_variant_borrow_option_by_index( - var_fc, i); - - warn_meaningless_fields(named_fc->fc, - named_fc->name->str, scope_name, log_cfg); - } - - break; - } - case CTF_FIELD_CLASS_TYPE_ARRAY: - { - struct ctf_field_class_array *array_fc = ctf_field_class_as_array(fc); - - if (array_fc->meaning != CTF_FIELD_CLASS_MEANING_NONE) { - goto end; - } - - } - /* fall-through */ - case CTF_FIELD_CLASS_TYPE_SEQUENCE: - { - struct ctf_field_class_array_base *array_fc = ctf_field_class_as_array_base(fc); - - warn_meaningless_fields(array_fc->elem_fc, name, scope_name, - log_cfg); - break; - } - default: - bt_common_abort(); - } + uint64_t i; + + if (!fc) { + goto end; + } + + /* + * 'name' is guaranteed to be non-NULL whenever the field class is not a + * structure. In the case of a structure field class, its members' names + * are used. + */ + switch (fc->type) { + case CTF_FIELD_CLASS_TYPE_FLOAT: + case CTF_FIELD_CLASS_TYPE_STRING: + warn_meaningless_field(name, scope_name, log_cfg); + break; + case CTF_FIELD_CLASS_TYPE_INT: + case CTF_FIELD_CLASS_TYPE_ENUM: + { + struct ctf_field_class_int *int_fc = ctf_field_class_as_int(fc); + + if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE && !int_fc->mapped_clock_class) { + warn_meaningless_field(name, scope_name, log_cfg); + } + + break; + } + case CTF_FIELD_CLASS_TYPE_STRUCT: + { + struct ctf_field_class_struct *struct_fc = ctf_field_class_as_struct(fc); + + for (i = 0; i < struct_fc->members->len; i++) { + struct ctf_named_field_class *named_fc = + ctf_field_class_struct_borrow_member_by_index(struct_fc, i); + + warn_meaningless_fields(named_fc->fc, named_fc->name->str, scope_name, log_cfg); + } + + break; + } + case CTF_FIELD_CLASS_TYPE_VARIANT: + { + struct ctf_field_class_variant *var_fc = ctf_field_class_as_variant(fc); + + for (i = 0; i < var_fc->options->len; i++) { + struct ctf_named_field_class *named_fc = + ctf_field_class_variant_borrow_option_by_index(var_fc, i); + + warn_meaningless_fields(named_fc->fc, named_fc->name->str, scope_name, log_cfg); + } + + break; + } + case CTF_FIELD_CLASS_TYPE_ARRAY: + { + struct ctf_field_class_array *array_fc = ctf_field_class_as_array(fc); + + if (array_fc->meaning != CTF_FIELD_CLASS_MEANING_NONE) { + goto end; + } + } + /* fall-through */ + case CTF_FIELD_CLASS_TYPE_SEQUENCE: + { + struct ctf_field_class_array_base *array_fc = ctf_field_class_as_array_base(fc); + + warn_meaningless_fields(array_fc->elem_fc, name, scope_name, log_cfg); + break; + } + default: + bt_common_abort(); + } end: - return; + return; } BT_HIDDEN -void ctf_trace_class_warn_meaningless_header_fields( - struct ctf_trace_class *ctf_tc, - struct meta_log_config *log_cfg) +void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc, + struct meta_log_config *log_cfg) { - uint64_t i; - - if (!ctf_tc->is_translated) { - warn_meaningless_fields( - ctf_tc->packet_header_fc, NULL, "packet header", - log_cfg); - } - - for (i = 0; i < ctf_tc->stream_classes->len; i++) { - ctf_stream_class *sc = (ctf_stream_class *) ctf_tc->stream_classes->pdata[i]; - - if (!sc->is_translated) { - warn_meaningless_fields(sc->event_header_fc, NULL, - "event header", log_cfg); - } - } + uint64_t i; + + if (!ctf_tc->is_translated) { + warn_meaningless_fields(ctf_tc->packet_header_fc, NULL, "packet header", log_cfg); + } + + for (i = 0; i < ctf_tc->stream_classes->len; i++) { + ctf_stream_class *sc = (ctf_stream_class *) ctf_tc->stream_classes->pdata[i]; + + if (!sc->is_translated) { + warn_meaningless_fields(sc->event_header_fc, NULL, "event header", log_cfg); + } + } }