[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1423833115-11199-6-git-send-email-yunlong.song@huawei.com>
Date: Fri, 13 Feb 2015 21:11:53 +0800
From: Yunlong Song <yunlong.song@...wei.com>
To: <a.p.zijlstra@...llo.nl>, <paulus@...ba.org>, <mingo@...hat.com>,
<acme@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <wangnan0@...wei.com>
Subject: [PATCH 5/7] perf list: avoid confusion of perf output and the next command prompt
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@...wei.com>
---
tools/perf/perf.c | 1 +
tools/perf/util/parse-options.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 3700a7f..3effb95 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -222,6 +222,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) {
diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c
index 4ee9a86..b0ef2d8 100644
--- a/tools/perf/util/parse-options.c
+++ b/tools/perf/util/parse-options.c
@@ -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] == '-') {
--
1.8.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists