source.text.dmesg: replace switch to convert status with cast
[babeltrace.git] / src / plugins / text / dmesg / dmesg.c
index 188cff895b23cc104c1e0cc2b43a56adbb239a0c..801acf91654deb2d1c025870d305d19f3cbe8d5f 100644 (file)
@@ -343,32 +343,6 @@ void destroy_dmesg_component(struct dmesg_component *dmesg_comp)
        g_free(dmesg_comp);
 }
 
-static
-bt_component_class_initialize_method_status create_port(
-               bt_self_component_source *self_comp)
-{
-       bt_component_class_initialize_method_status status;
-       bt_self_component_add_port_status add_port_status;
-
-       add_port_status = bt_self_component_source_add_output_port(self_comp,
-               "out", NULL, NULL);
-       switch (add_port_status) {
-       case BT_SELF_COMPONENT_ADD_PORT_STATUS_OK:
-               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK;
-               break;
-       case BT_SELF_COMPONENT_ADD_PORT_STATUS_ERROR:
-               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR;
-               break;
-       case BT_SELF_COMPONENT_ADD_PORT_STATUS_MEMORY_ERROR:
-               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR;
-               break;
-       default:
-               bt_common_abort();
-       }
-
-       return status;
-}
-
 BT_HIDDEN
 bt_component_class_initialize_method_status dmesg_init(
                bt_self_component_source *self_comp_src,
@@ -381,6 +355,7 @@ bt_component_class_initialize_method_status dmesg_init(
                bt_self_component_source_as_self_component(self_comp_src);
        const bt_component *comp = bt_self_component_as_component(self_comp);
        bt_logging_level log_level = bt_component_get_logging_level(comp);
+       bt_self_component_add_port_status add_port_status;
 
        if (!dmesg_comp) {
                /* Implicit log level is not available here */
@@ -417,8 +392,10 @@ bt_component_class_initialize_method_status dmesg_init(
                goto error;
        }
 
-       status = create_port(self_comp_src);
-       if (status != BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK) {
+       add_port_status = bt_self_component_source_add_output_port(
+               self_comp_src, "out", NULL, NULL);
+       if (add_port_status != BT_SELF_COMPONENT_ADD_PORT_STATUS_OK) {
+               status = (int) add_port_status;
                goto error;
        }
 
@@ -709,8 +686,7 @@ bt_message_iterator_class_next_method_status dmesg_msg_iter_next_one(
 {
        ssize_t len;
        struct dmesg_component *dmesg_comp;
-       bt_message_iterator_class_next_method_status status =
-               BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK;
+       bt_message_iterator_class_next_method_status status;
 
        BT_ASSERT_DBG(dmesg_msg_iter);
        dmesg_comp = dmesg_msg_iter->dmesg_comp;
@@ -735,8 +711,10 @@ bt_message_iterator_class_next_method_status dmesg_msg_iter_next_one(
                if (len < 0) {
                        if (errno == EINVAL) {
                                status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR;
+                               goto end;
                        } else if (errno == ENOMEM) {
                                status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_MEMORY_ERROR;
+                               goto end;
                        } else {
                                if (dmesg_msg_iter->state == STATE_EMIT_STREAM_BEGINNING) {
                                        /* Stream did not even begin */
@@ -749,8 +727,6 @@ bt_message_iterator_class_next_method_status dmesg_msg_iter_next_one(
                                        goto handle_state;
                                }
                        }
-
-                       goto end;
                }
 
                BT_ASSERT_DBG(dmesg_msg_iter->linebuf);
@@ -774,6 +750,7 @@ bt_message_iterator_class_next_method_status dmesg_msg_iter_next_one(
                BT_COMP_LOGE("Cannot create event message from line: "
                        "dmesg-comp-addr=%p, line=\"%s\"", dmesg_comp,
                        dmesg_msg_iter->linebuf);
+               status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR;
                goto end;
        }
 
@@ -805,8 +782,10 @@ handle_state:
                BT_COMP_LOGE("Cannot create message: dmesg-comp-addr=%p",
                        dmesg_comp);
                status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR;
+               goto end;
        }
 
+       status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK;
 end:
        return status;
 }
This page took 0.024922 seconds and 4 git commands to generate.