Add bt_common_abort() and use it instead of abort() directly
[babeltrace.git] / src / plugins / ctf / common / metadata / ctf-meta-warn-meaningless-header-fields.c
index 73b6fe92c249c9b0705199a178b90c5556e3cc05..bc2539e10b61de132901250aaf30abcbc99e84ee 100644 (file)
  * all copies or substantial portions of the Software.
  */
 
-#define BT_LOG_TAG "PLUGIN-CTF-METADATA-META-WARN-MEANINGLESS-HEADER-FIELDS"
-#include "logging.h"
+#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"
+#include "logging/comp-logging.h"
 
 #include <babeltrace2/babeltrace.h>
-#include "common/babeltrace.h"
+#include "common/macros.h"
 #include "common/assert.h"
 #include <glib.h>
 #include <stdint.h>
 #include <inttypes.h>
 
 #include "ctf-meta-visitors.h"
+#include "logging.h"
 
 static inline
-void warn_meaningless_field(const char *name, const char *scope_name)
+void warn_meaningless_field(const char *name, const char *scope_name,
+               struct meta_log_config *log_cfg)
 {
-       BT_LOGW("User field found in %s: ignoring: name=\"%s\"",
+       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)
+               const char *scope_name, struct meta_log_config *log_cfg)
 {
        uint64_t i;
 
@@ -42,10 +47,15 @@ void warn_meaningless_fields(struct ctf_field_class *fc, const char *name,
                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);
+               warn_meaningless_field(name, scope_name, log_cfg);
                break;
        case CTF_FIELD_CLASS_TYPE_INT:
        case CTF_FIELD_CLASS_TYPE_ENUM:
@@ -54,7 +64,7 @@ void warn_meaningless_fields(struct ctf_field_class *fc, const char *name,
 
                if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE &&
                                !int_fc->mapped_clock_class) {
-                       warn_meaningless_field(name, scope_name);
+                       warn_meaningless_field(name, scope_name, log_cfg);
                }
 
                break;
@@ -69,7 +79,7 @@ void warn_meaningless_fields(struct ctf_field_class *fc, const char *name,
                                        struct_fc, i);
 
                        warn_meaningless_fields(named_fc->fc,
-                               named_fc->name->str, scope_name);
+                               named_fc->name->str, scope_name, log_cfg);
                }
 
                break;
@@ -84,7 +94,7 @@ void warn_meaningless_fields(struct ctf_field_class *fc, const char *name,
                                        var_fc, i);
 
                        warn_meaningless_fields(named_fc->fc,
-                               named_fc->name->str, scope_name);
+                               named_fc->name->str, scope_name, log_cfg);
                }
 
                break;
@@ -103,11 +113,12 @@ void warn_meaningless_fields(struct ctf_field_class *fc, const char *name,
        {
                struct ctf_field_class_array_base *array_fc = (void *) fc;
 
-               warn_meaningless_fields(array_fc->elem_fc, name, scope_name);
+               warn_meaningless_fields(array_fc->elem_fc, name, scope_name,
+                       log_cfg);
                break;
        }
        default:
-               abort();
+               bt_common_abort();
        }
 
 end:
@@ -116,13 +127,15 @@ end:
 
 BT_HIDDEN
 void ctf_trace_class_warn_meaningless_header_fields(
-               struct ctf_trace_class *ctf_tc)
+               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");
+                       ctf_tc->packet_header_fc, NULL, "packet header",
+                       log_cfg);
        }
 
        for (i = 0; i < ctf_tc->stream_classes->len; i++) {
@@ -130,7 +143,7 @@ void ctf_trace_class_warn_meaningless_header_fields(
 
                if (!sc->is_translated) {
                        warn_meaningless_fields(sc->event_header_fc, NULL,
-                               "event header");
+                               "event header", log_cfg);
                }
        }
 }
This page took 0.024602 seconds and 4 git commands to generate.