OPT_END()
};
-static const char * const data_usage[] = {
+static const char * const data_subcommands[] = { "convert", NULL };
+
+static const char *data_usage[] = {
"perf data [<common options>] <command> [<options>]",
NULL
};
const char *prefix __maybe_unused)
{
const char *to_ctf = NULL;
+ bool force = false;
const struct option options[] = {
OPT_INCR('v', "verbose", &verbose, "be more verbose"),
OPT_STRING('i', "input", &input_name, "file", "input file name"),
#ifdef HAVE_LIBBABELTRACE_SUPPORT
OPT_STRING(0, "to-ctf", &to_ctf, NULL, "Convert to CTF format"),
#endif
+ OPT_BOOLEAN('f', "force", &force, "don't complain, do it"),
OPT_END()
};
if (to_ctf) {
#ifdef HAVE_LIBBABELTRACE_SUPPORT
- return bt_convert__perf2ctf(input_name, to_ctf);
+ return bt_convert__perf2ctf(input_name, to_ctf, force);
#else
pr_err("The libbabeltrace support is not compiled in.\n");
return -1;
static struct data_cmd data_cmds[] = {
{ "convert", "converts data file between formats", cmd_data_convert },
- { NULL },
+ { .name = NULL, },
};
int cmd_data(int argc, const char **argv, const char *prefix)
if (argc < 2)
goto usage;
- argc = parse_options(argc, argv, data_options, data_usage,
+ argc = parse_options_subcommand(argc, argv, data_options, data_subcommands, data_usage,
PARSE_OPT_STOP_AT_NON_OPTION);
if (argc < 1)
goto usage;