cli: print error causes in all error paths
[babeltrace.git] / src / cli / babeltrace2.c
index cc79340650732bc1a1e9a8c88e367e6cac8e3d8b..0339426dc4e7c8f33f037679ead7eb2cc6520ba8 100644 (file)
@@ -330,13 +330,14 @@ end:
 }
 
 static
-bt_bool collect_map_keys(const char *key, const bt_value *object, void *data)
+bt_value_map_foreach_entry_const_func_status collect_map_keys(
+               const char *key, const bt_value *object, void *data)
 {
        GPtrArray *map_keys = data;
 
        g_ptr_array_add(map_keys, (gpointer *) key);
 
-       return BT_TRUE;
+       return BT_VALUE_MAP_FOREACH_ENTRY_CONST_FUNC_STATUS_OK;
 }
 
 static
@@ -2837,7 +2838,6 @@ int main(int argc, const char **argv)
                break;
        case BT_CMD_STATUS_ERROR:
                retcode = 1;
-               print_error_causes();
                break;
        case BT_CMD_STATUS_INTERRUPTED:
                retcode = 2;
@@ -2848,6 +2848,10 @@ int main(int argc, const char **argv)
        }
 
 end:
+       if (retcode == 1) {
+               print_error_causes();
+       }
+
        BT_OBJECT_PUT_REF_AND_RESET(cfg);
        fini_loaded_plugins();
        bt_interrupter_put_ref(the_interrupter);
This page took 0.023028 seconds and 4 git commands to generate.