perf list: Avoid confusion of perf output and the next command prompt
authorYunlong Song <yunlong.song@huawei.com>
Fri, 27 Feb 2015 10:21:29 +0000 (18:21 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 27 Feb 2015 18:52:09 +0000 (15:52 -0300)
Distinguish the output of 'perf list --list-opts' or 'perf --list-cmds'
with the next command prompt, which also happens in other cases (e.g.
record, report ...).

Example:

Before this patch:

 $perf list --list-opts
 --raw-dump $          <-- the output and the next command prompt are at
                           the same line

After this patch:

 $perf list --list-opts
 --raw-dump
 $                     <-- the new line

Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1425032491-20224-6-git-send-email-yunlong.song@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/perf.c
tools/perf/util/parse-options.c

index f3c66b81c6bee9b2cb57e2c36939df8bf533d090..3df2665022bef0db98455a9f31ad24ec0ea5b314 100644 (file)
@@ -223,6 +223,7 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
                                struct cmd_struct *p = commands+i;
                                printf("%s ", p->cmd);
                        }
+                       putchar('\n');
                        exit(0);
                } else if (!strcmp(cmd, "--debug")) {
                        if (*argc < 2) {
index 4ee9a86705ed3a84d02dda86ff20e1099078c853..b0ef2d813d2f6bacb6bf683293cbab06b1ccaf60 100644 (file)
@@ -508,12 +508,14 @@ int parse_options_subcommand(int argc, const char **argv, const struct option *o
                        printf("--%s ", options->long_name);
                        options++;
                }
+               putchar('\n');
                exit(130);
        case PARSE_OPT_LIST_SUBCMDS:
                if (subcommands) {
                        for (int i = 0; subcommands[i]; i++)
                                printf("%s ", subcommands[i]);
                }
+               putchar('\n');
                exit(130);
        default: /* PARSE_OPT_UNKNOWN */
                if (ctx.argv[0][1] == '-') {