X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=cli%2Fbabeltrace-cfg.c;h=304a06d9d3e7a64822d0da6115f170fd3de896c0;hb=7b077a9d9792cb0d29299e0c29d4a7686af43b81;hp=bf36be9b19b3c600532dfd88ff12fc7d0f477bc1;hpb=8d77550c9ec0f0bdb483a672a676e842510bb384;p=babeltrace.git diff --git a/cli/babeltrace-cfg.c b/cli/babeltrace-cfg.c index bf36be9b..304a06d9 100644 --- a/cli/babeltrace-cfg.c +++ b/cli/babeltrace-cfg.c @@ -1207,6 +1207,7 @@ int insert_flat_params_from_array(GString *params_arg, int ret = 0; int i; GString *tmpstr = NULL, *default_value = NULL; + bool default_set = false, non_default_set = false; /* * names_array may be NULL if no CLI options were specified to @@ -1260,15 +1261,25 @@ int insert_flat_params_from_array(GString *params_arg, g_string_assign(default_value, "hide"); } if (is_default) { + default_set = true; g_string_append(tmpstr, "default"); append_param_arg(params_arg, tmpstr->str, default_value->str); } else { + non_default_set = true; g_string_append(tmpstr, suffix); append_param_arg(params_arg, tmpstr->str, "yes"); } } + /* Implicit field-default=hide if any non-default option is set. */ + if (non_default_set && !default_set) { + g_string_assign(tmpstr, prefix); + g_string_append(tmpstr, "-default"); + g_string_assign(default_value, "hide"); + append_param_arg(params_arg, tmpstr->str, default_value->str); + } + end: if (default_value) { g_string_free(default_value, TRUE);