configure: allow adding compiler-specific warning flags
[babeltrace.git] / src / cli / babeltrace2-cfg-cli-args.c
index ae8e8eef3f2fe9d3bae984e06007b9b2e18383c7..e80689bee0f714cc07a25e9f34dc92418a70ff52 100644 (file)
@@ -488,9 +488,9 @@ GScanner *create_csv_identifiers_scanner(void)
 {
        GScanner *scanner;
        GScannerConfig scanner_config = {
-               .cset_skip_characters = " \t\n",
-               .cset_identifier_first = G_CSET_a_2_z G_CSET_A_2_Z "_",
-               .cset_identifier_nth = G_CSET_a_2_z G_CSET_A_2_Z ":_-",
+               .cset_skip_characters = (gchar *) " \t\n",
+               .cset_identifier_first = (gchar *) G_CSET_a_2_z G_CSET_A_2_Z "_",
+               .cset_identifier_nth = (gchar *) G_CSET_a_2_z G_CSET_A_2_Z ":_-",
                .case_sensitive = TRUE,
                .cpair_comment_single = NULL,
                .skip_comment_multi = TRUE,
@@ -735,7 +735,7 @@ int insert_flat_params_from_array(GString *params_arg,
                const bt_value *names_array, const char *prefix)
 {
        int ret = 0;
-       int i;
+       uint64_t i;
        GString *tmpstr = NULL, *default_value = NULL;
        bool default_set = false, non_default_set = false;
 
@@ -764,16 +764,10 @@ int insert_flat_params_from_array(GString *params_arg,
        for (i = 0; i < bt_value_array_get_length(names_array); i++) {
                const bt_value *str_obj =
                        bt_value_array_borrow_element_by_index_const(names_array,
-                                                                    i);
+                               i);
                const char *suffix;
                bool is_default = false;
 
-               if (!str_obj) {
-                       BT_CLI_LOGE_APPEND_CAUSE("Unexpected error.");
-                       ret = -1;
-                       goto end;
-               }
-
                suffix = bt_value_string_get(str_obj);
 
                g_string_assign(tmpstr, prefix);
@@ -2073,33 +2067,27 @@ struct bt_config *bt_config_run_from_args_array(const bt_value *run_args,
 {
        struct bt_config *cfg = NULL;
        const char **argv;
-       int64_t i, len;
-       const size_t argc = bt_value_array_get_length(run_args);
+       uint64_t i, len = bt_value_array_get_length(run_args);
 
-       argv = calloc(argc, sizeof(*argv));
+       BT_ASSERT(len <= SIZE_MAX);
+       argv = calloc((size_t) len, sizeof(*argv));
        if (!argv) {
                BT_CLI_LOGE_APPEND_CAUSE_OOM();
                goto end;
        }
 
-       len = bt_value_array_get_length(run_args);
-       if (len < 0) {
-               BT_CLI_LOGE_APPEND_CAUSE("Invalid executable arguments.");
-               goto end;
-       }
        for (i = 0; i < len; i++) {
                const bt_value *arg_value =
                        bt_value_array_borrow_element_by_index_const(run_args,
-                                                                    i);
+                               i);
                const char *arg;
 
-               BT_ASSERT(arg_value);
                arg = bt_value_string_get(arg_value);
                BT_ASSERT(arg);
                argv[i] = arg;
        }
 
-       cfg = bt_config_run_from_args(argc, argv, retcode,
+       cfg = bt_config_run_from_args((int) len, argv, retcode,
                plugin_paths, default_log_level);
 
 end:
@@ -2357,7 +2345,7 @@ int append_run_args_for_implicit_component(
                bt_value *run_args)
 {
        int ret = 0;
-       size_t i;
+       uint64_t i;
        GString *component_arg_for_run = NULL;
 
        if (!impl_args->exists) {
@@ -2400,16 +2388,12 @@ int append_run_args_for_implicit_component(
                }
        }
 
-       for (i = 0; i < bt_value_array_get_length(impl_args->extra_params);
-                       i++) {
+       for (i = 0; i < bt_value_array_get_length(impl_args->extra_params); i++) {
                const bt_value *elem;
                const char *arg;
 
-               elem = bt_value_array_borrow_element_by_index(impl_args->extra_params,
-                                                             i);
-               if (!elem) {
-                       goto error;
-               }
+               elem = bt_value_array_borrow_element_by_index(
+                       impl_args->extra_params, i);
 
                BT_ASSERT(bt_value_is_string(elem));
                arg = bt_value_string_get(elem);
@@ -4338,20 +4322,21 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[],
         * here.
         */
        if (print_run_args || print_run_args_0) {
+               uint64_t args_idx, args_len;
                if (stream_intersection_mode) {
                        BT_CLI_LOGE_APPEND_CAUSE("Cannot specify --stream-intersection with --run-args or --run-args-0.");
                        goto error;
                }
 
-               for (i = 0; i < bt_value_array_get_length(run_args); i++) {
+               args_len = bt_value_array_get_length(run_args);
+               for (args_idx = 0; args_idx < args_len; args_idx++) {
                        const bt_value *arg_value =
                                bt_value_array_borrow_element_by_index(run_args,
-                                                                      i);
+                                       args_idx);
                        const char *arg;
                        GString *quoted = NULL;
                        const char *arg_to_print;
 
-                       BT_ASSERT(arg_value);
                        arg = bt_value_string_get(arg_value);
 
                        if (print_run_args) {
@@ -4371,7 +4356,7 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[],
                                g_string_free(quoted, TRUE);
                        }
 
-                       if (i < bt_value_array_get_length(run_args) - 1) {
+                       if (args_idx < args_len - 1) {
                                if (print_run_args) {
                                        putchar(' ');
                                } else {
This page took 0.025029 seconds and 4 git commands to generate.