Add bt_common_abort() and use it instead of abort() directly
[babeltrace.git] / src / cli / babeltrace2.c
index 378fff8a1c9f2e52da6bb6b04c3fd34450109bb9..a59bb71c26e0cfe1947e5a847cc6408871ae99c2 100644 (file)
@@ -193,7 +193,7 @@ const bt_component_class *find_component_class(const char *plugin_name,
                comp_cls = bt_component_class_sink_as_component_class_const(find_sink_component_class(plugin_name, comp_class_name));
                break;
        default:
-               abort();
+               bt_common_abort();
        }
 
        return comp_cls;
@@ -334,13 +334,9 @@ void print_value_rec(FILE *fp, const bt_value *value, size_t indent)
        uint64_t uint_val;
        double dbl_val;
        const char *str_val;
-       int size;
-       int i;
        GPtrArray *map_keys = NULL;
 
-       if (!value) {
-               goto end;
-       }
+       BT_ASSERT(value);
 
        switch (bt_value_get_type(value)) {
        case BT_VALUE_TYPE_NULL:
@@ -378,11 +374,9 @@ void print_value_rec(FILE *fp, const bt_value *value, size_t indent)
                        bt_common_color_reset());
                break;
        case BT_VALUE_TYPE_ARRAY:
+       {
+               uint64_t i, size;
                size = bt_value_array_get_length(value);
-               if (size < 0) {
-                       goto error;
-               }
-
                if (size == 0) {
                        print_indent(fp, indent);
                        fprintf(fp, "[ ]\n");
@@ -394,9 +388,6 @@ void print_value_rec(FILE *fp, const bt_value *value, size_t indent)
                                bt_value_array_borrow_element_by_index_const(
                                        value, i);
 
-                       if (!element) {
-                               goto error;
-                       }
                        print_indent(fp, indent);
                        fprintf(fp, "- ");
 
@@ -420,6 +411,7 @@ void print_value_rec(FILE *fp, const bt_value *value, size_t indent)
                        print_value_rec(fp, element, indent + 2);
                }
                break;
+       }
        case BT_VALUE_TYPE_MAP:
        {
                guint i;
@@ -464,15 +456,11 @@ void print_value_rec(FILE *fp, const bt_value *value, size_t indent)
                break;
        }
        default:
-               abort();
+               bt_common_abort();
        }
 
        goto end;
 
-error:
-       BT_LOGE("Error printing value of type %s.",
-               bt_common_value_type_string(bt_value_get_type(value)));
-
 end:
        if (map_keys) {
                g_ptr_array_free(map_keys, TRUE);
@@ -626,7 +614,7 @@ void print_cfg(struct bt_config *cfg)
                print_cfg_print_lttng_live_sessions(cfg);
                break;
        default:
-               abort();
+               bt_common_abort();
        }
 }
 
@@ -821,6 +809,7 @@ typedef void *(* plugin_borrow_comp_cls_by_index_func_t)(const bt_plugin *,
 typedef const bt_component_class *(* spec_comp_cls_borrow_comp_cls_func_t)(
        void *);
 
+static
 void cmd_list_plugins_print_component_classes(const bt_plugin *plugin,
                const char *cc_type_name, uint64_t count,
                plugin_borrow_comp_cls_by_index_func_t borrow_comp_cls_by_index_func,
@@ -942,7 +931,7 @@ int cmd_print_lttng_live_sessions(struct bt_config *cfg)
        static const char * const comp_cls_name = "lttng-live";
        static const bt_component_class_type comp_cls_type =
                BT_COMPONENT_CLASS_TYPE_SOURCE;
-       int64_t array_size, i;
+       uint64_t array_size, i;
        const char *fail_reason = NULL;
        FILE *out_stream = stdout;
 
@@ -1006,10 +995,6 @@ int cmd_print_lttng_live_sessions(struct bt_config *cfg)
                int64_t timer_us, streams, clients;
 
                map = bt_value_array_borrow_element_by_index_const(results, i);
-               if (!map) {
-                       BT_CLI_LOGE_APPEND_CAUSE("Unexpected empty array entry.");
-                       goto error;
-               }
                if (!bt_value_is_map(map)) {
                        BT_CLI_LOGE_APPEND_CAUSE("Unexpected entry type.");
                        goto error;
@@ -1974,8 +1959,7 @@ static
 int compute_stream_intersection(const bt_value *streams,
                struct trace_range *range)
 {
-       unsigned int i;
-       unsigned int stream_count;
+       uint64_t i, stream_count;
        int ret;
 
        BT_ASSERT(bt_value_get_type(streams) == BT_VALUE_TYPE_ARRAY);
@@ -2083,7 +2067,7 @@ int set_stream_intersections(struct cmd_run_ctx *ctx,
 {
        int ret = 0;
        uint64_t trace_idx;
-       int64_t trace_count;
+       uint64_t trace_count;
        const bt_value *query_result = NULL;
        const bt_value *trace_info = NULL;
        const bt_value *stream_infos = NULL;
@@ -2117,7 +2101,7 @@ int set_stream_intersections(struct cmd_run_ctx *ctx,
        }
 
        trace_count = bt_value_array_get_length(query_result);
-       if (trace_count < 0) {
+       if (trace_count == 0) {
                BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: result is empty: "
                        "component-class-name=%s", bt_component_class_get_name(comp_cls));
                ret = -1;
@@ -2131,7 +2115,6 @@ int set_stream_intersections(struct cmd_run_ctx *ctx,
 
                trace_info = bt_value_array_borrow_element_by_index_const(
                        query_result, trace_idx);
-               BT_ASSERT(trace_info);
                if (!bt_value_is_map(trace_info)) {
                        ret = -1;
                        BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: expecting element to be a map: "
@@ -2161,7 +2144,7 @@ int set_stream_intersections(struct cmd_run_ctx *ctx,
                }
 
                stream_count = bt_value_array_get_length(stream_infos);
-               if (stream_count < 0) {
+               if (stream_count == 0) {
                        ret = -1;
                        BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: list of streams is empty: "
                                "component-class-name=%s",
@@ -2205,7 +2188,6 @@ int set_stream_intersections(struct cmd_run_ctx *ctx,
 
                        stream_info = bt_value_array_borrow_element_by_index_const(
                                stream_infos, stream_idx);
-                       BT_ASSERT(stream_info);
                        if (!bt_value_is_map(stream_info)) {
                                ret = -1;
                                BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: "
@@ -2293,7 +2275,7 @@ int cmd_run_ctx_create_components_from_config_components(
                                cfg_comp->comp_cls_name->str);
                        break;
                default:
-                       abort();
+                       bt_common_abort();
                }
 
                if (!comp_cls) {
@@ -2328,7 +2310,7 @@ int cmd_run_ctx_create_components_from_config_components(
                                (void *) &comp);
                        break;
                default:
-                       abort();
+                       bt_common_abort();
                }
 
                if (ret) {
@@ -2371,7 +2353,7 @@ int cmd_run_ctx_create_components_from_config_components(
                                GUINT_TO_POINTER(quark), (void *) comp);
                        break;
                default:
-                       abort();
+                       bt_common_abort();
                }
 
                comp = NULL;
@@ -2554,7 +2536,7 @@ int cmd_run(struct bt_config *cfg)
 
                switch (run_status) {
                case BT_GRAPH_RUN_STATUS_OK:
-                       break;
+                       goto end;
                case BT_GRAPH_RUN_STATUS_AGAIN:
                        if (bt_interrupter_is_set(the_interrupter)) {
                                BT_CLI_LOGW_APPEND_CAUSE(
@@ -2576,8 +2558,6 @@ int cmd_run(struct bt_config *cfg)
                                }
                        }
                        break;
-               case BT_GRAPH_RUN_STATUS_END:
-                       goto end;
                default:
                        if (bt_interrupter_is_set(the_interrupter)) {
                                BT_CLI_LOGW_APPEND_CAUSE(
@@ -2717,7 +2697,7 @@ void print_error_causes(void)
                                bt_error_cause_message_iterator_actor_get_component_class_type(cause));
                        break;
                default:
-                       abort();
+                       bt_common_abort();
                }
 
                /* Print file name and line number */
@@ -2830,7 +2810,7 @@ int main(int argc, const char **argv)
                break;
        default:
                BT_LOGF("Invalid/unknown command: cmd=%d", cfg->command);
-               abort();
+               bt_common_abort();
        }
 
        BT_LOGI("Command completed: cmd=%d, command-name=\"%s\", ret=%d",
This page took 0.027399 seconds and 4 git commands to generate.