X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=converter%2Fbabeltrace.c;h=63ade113c81f719a1cb4b1a5b0178a5567fb826b;hp=8ec3d64b9b892c9c9071c2e8432db24a21713599;hb=7fb210365ad968646a0088d80f709165bf068950;hpb=34ac0e6c566323f5dd7c52214998b1cf2d3641b5 diff --git a/converter/babeltrace.c b/converter/babeltrace.c index 8ec3d64b..63ade113 100644 --- a/converter/babeltrace.c +++ b/converter/babeltrace.c @@ -17,6 +17,7 @@ */ #include +#include #include #include #include @@ -32,6 +33,7 @@ int babeltrace_verbose, babeltrace_debug; enum { OPT_NONE = 0, OPT_HELP, + OPT_LIST, OPT_VERBOSE, OPT_DEBUG, }; @@ -41,11 +43,18 @@ static struct poptOption long_options[] = { { "input-format", 'i', POPT_ARG_STRING, &opt_input_format, OPT_NONE, NULL, NULL }, { "output-format", 'o', POPT_ARG_STRING, &opt_output_format, OPT_NONE, NULL, NULL }, { "help", 'h', POPT_ARG_NONE, NULL, OPT_HELP, NULL, NULL }, + { "list", 'l', POPT_ARG_NONE, NULL, OPT_LIST, NULL, NULL }, { "verbose", 'v', POPT_ARG_NONE, NULL, OPT_VERBOSE, NULL, NULL }, { "debug", 'd', POPT_ARG_NONE, NULL, OPT_DEBUG, NULL, NULL }, { NULL, 0, 0, NULL, 0, NULL, NULL }, }; +static void list_formats(FILE *fp) +{ + fprintf(fp, "\n"); + bt_fprintf_format_list(fp); +} + static void usage(FILE *fp) { fprintf(fp, "Babeltrace %u.%u\n\n", BABELTRACE_VERSION_MAJOR, @@ -59,8 +68,10 @@ static void usage(FILE *fp) fprintf(fp, " -o, --output-format Input trace path\n"); fprintf(fp, "\n"); fprintf(fp, " -h, --help This help message\n"); + fprintf(fp, " -l, --list List available formats\n"); fprintf(fp, " -v, --verbose Verbose mode\n"); fprintf(fp, " -d, --debug Debug mode\n"); + list_formats(fp); fprintf(fp, "\n"); } @@ -79,9 +90,13 @@ static int parse_options(int argc, const char **argv) while ((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { case OPT_HELP: - usage(stderr); + usage(stdout); ret = 1; /* exit cleanly */ goto end; + case OPT_LIST: + list_formats(stdout); + ret = 1; + goto end; case OPT_VERBOSE: babeltrace_verbose = 1; break;