X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Ftext%2Fdmesg%2Fdmesg.c;h=da21f69eaf964a1248ec98bb76cd0d4401f7c38c;hb=5ca9cc5a82576446a98b36519f143039025519db;hp=252a831ca772c68fc042963c8ae6d309f82c3c5a;hpb=fe748379adbd385efdfc7acae9c2340fb8b7d717;p=babeltrace.git diff --git a/src/plugins/text/dmesg/dmesg.c b/src/plugins/text/dmesg/dmesg.c index 252a831c..da21f69e 100644 --- a/src/plugins/text/dmesg/dmesg.c +++ b/src/plugins/text/dmesg/dmesg.c @@ -26,6 +26,8 @@ #define BT_LOG_TAG "PLUGIN/SRC.TEXT.DMESG" #include "logging/comp-logging.h" +#include "dmesg.h" + #include #include #include @@ -47,7 +49,10 @@ struct dmesg_component; struct dmesg_msg_iter { struct dmesg_component *dmesg_comp; - bt_self_message_iterator *pc_msg_iter; /* Weak */ + + /* Weak */ + bt_self_message_iterator *self_msg_iter; + char *linebuf; size_t linebuf_len; FILE *fp; @@ -196,6 +201,7 @@ end: return ret; } +static struct bt_param_validation_map_value_entry_descr dmesg_params[] = { { "no-extract-timestamp", BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } }, { "path", BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_STRING } }, @@ -373,7 +379,7 @@ bt_component_class_initialize_method_status create_port( status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR; break; default: - abort(); + bt_common_abort(); } return status; @@ -509,7 +515,7 @@ bt_message *create_init_event_msg_from_line( if (has_timestamp) { /* Set new start for the message portion of the line */ *new_start = strchr(line, ']'); - BT_ASSERT(*new_start); + BT_ASSERT_DBG(*new_start); (*new_start)++; if ((*new_start)[0] == ' ') { @@ -531,11 +537,11 @@ skip_ts: if (dmesg_comp->clock_class) { msg = bt_message_event_create_with_default_clock_snapshot( - msg_iter->pc_msg_iter, + msg_iter->self_msg_iter, dmesg_comp->event_class, dmesg_comp->stream, ts); msg_iter->last_clock_value = ts; } else { - msg = bt_message_event_create(msg_iter->pc_msg_iter, + msg = bt_message_event_create(msg_iter->self_msg_iter, dmesg_comp->event_class, dmesg_comp->stream); } @@ -545,7 +551,7 @@ skip_ts: } event = bt_message_event_borrow_event(msg); - BT_ASSERT(event); + BT_ASSERT_DBG(event); goto end; error: @@ -565,7 +571,7 @@ int fill_event_payload_from_line(struct dmesg_component *dmesg_comp, int ret; ep_field = bt_event_borrow_payload_field(event); - BT_ASSERT(ep_field); + BT_ASSERT_DBG(ep_field); str_field = bt_field_structure_borrow_member_field_by_index( ep_field, 0); if (!str_field) { @@ -614,7 +620,7 @@ bt_message *create_msg_from_line( } event = bt_message_event_borrow_event(msg); - BT_ASSERT(event); + BT_ASSERT_DBG(event); ret = fill_event_payload_from_line(dmesg_comp, new_start, event); if (ret) { BT_COMP_LOGE("Cannot fill event payload field from line: " @@ -676,7 +682,7 @@ bt_component_class_message_iterator_initialize_method_status dmesg_msg_iter_init BT_ASSERT(dmesg_comp); dmesg_msg_iter->dmesg_comp = dmesg_comp; - dmesg_msg_iter->pc_msg_iter = self_msg_iter; + dmesg_msg_iter->self_msg_iter = self_msg_iter; if (dmesg_comp->params.read_from_stdin) { dmesg_msg_iter->fp = stdin; @@ -722,9 +728,9 @@ bt_component_class_message_iterator_next_method_status dmesg_msg_iter_next_one( bt_component_class_message_iterator_next_method_status status = BT_COMPONENT_CLASS_MESSAGE_ITERATOR_NEXT_METHOD_STATUS_OK; - BT_ASSERT(dmesg_msg_iter); + BT_ASSERT_DBG(dmesg_msg_iter); dmesg_comp = dmesg_msg_iter->dmesg_comp; - BT_ASSERT(dmesg_comp); + BT_ASSERT_DBG(dmesg_comp); if (dmesg_msg_iter->state == STATE_DONE) { status = BT_COMPONENT_CLASS_MESSAGE_ITERATOR_NEXT_METHOD_STATUS_END; @@ -763,7 +769,7 @@ bt_component_class_message_iterator_next_method_status dmesg_msg_iter_next_one( goto end; } - BT_ASSERT(dmesg_msg_iter->linebuf); + BT_ASSERT_DBG(dmesg_msg_iter->linebuf); /* Ignore empty lines, once trimmed */ for (ch = dmesg_msg_iter->linebuf; *ch != '\0'; ch++) { @@ -788,23 +794,23 @@ bt_component_class_message_iterator_next_method_status dmesg_msg_iter_next_one( } handle_state: - BT_ASSERT(dmesg_comp->trace); + BT_ASSERT_DBG(dmesg_comp->trace); switch (dmesg_msg_iter->state) { case STATE_EMIT_STREAM_BEGINNING: - BT_ASSERT(dmesg_msg_iter->tmp_event_msg); + BT_ASSERT_DBG(dmesg_msg_iter->tmp_event_msg); *msg = bt_message_stream_beginning_create( - dmesg_msg_iter->pc_msg_iter, dmesg_comp->stream); + dmesg_msg_iter->self_msg_iter, dmesg_comp->stream); dmesg_msg_iter->state = STATE_EMIT_EVENT; break; case STATE_EMIT_EVENT: - BT_ASSERT(dmesg_msg_iter->tmp_event_msg); + BT_ASSERT_DBG(dmesg_msg_iter->tmp_event_msg); *msg = dmesg_msg_iter->tmp_event_msg; dmesg_msg_iter->tmp_event_msg = NULL; break; case STATE_EMIT_STREAM_END: *msg = bt_message_stream_end_create( - dmesg_msg_iter->pc_msg_iter, dmesg_comp->stream); + dmesg_msg_iter->self_msg_iter, dmesg_comp->stream); dmesg_msg_iter->state = STATE_DONE; break; default: