Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1258702

[tip:perf/core] perf tools: Setup pager when printing usage and help

From tip-bot for Namhyung Kim <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:perf/core] perf tools: Setup pager when printing usage and help
Date 2015-10-29 10:50 +0100
Message-ID <qoS0j-6Ul-45@gated-at.bofh.it> (permalink)
References <qn9eV-4A2-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit-ID:  01b19455c08cc37d1c3ef174524278e84c92fec1
Gitweb:     http://git.kernel.org/tip/01b19455c08cc37d1c3ef174524278e84c92fec1
Author:     Namhyung Kim <namhyung@kernel.org>
AuthorDate: Sun, 25 Oct 2015 00:49:26 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 26 Oct 2015 14:08:48 -0300

perf tools: Setup pager when printing usage and help

It's annoying to see error or help message when command has many options
like in perf record, report or top.  So setup pager when print parser
error or help message - it should be OK since no UI is enabled at the
parsing time.  The usage_with_options() already disables it by calling
exit_browser() anyway.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1445701767-12731-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/parse-options.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c
index b8d9822..eeeed98 100644
--- a/tools/perf/util/parse-options.c
+++ b/tools/perf/util/parse-options.c
@@ -7,6 +7,8 @@
 #define OPT_SHORT 1
 #define OPT_UNSET 2
 
+static struct strbuf error_buf = STRBUF_INIT;
+
 static int opterror(const struct option *opt, const char *reason, int flags)
 {
 	if (flags & OPT_SHORT)
@@ -540,9 +542,11 @@ int parse_options_subcommand(int argc, const char **argv, const struct option *o
 		exit(130);
 	default: /* PARSE_OPT_UNKNOWN */
 		if (ctx.argv[0][1] == '-') {
-			error("unknown option `%s'", ctx.argv[0] + 2);
+			strbuf_addf(&error_buf, "unknown option `%s'",
+				    ctx.argv[0] + 2);
 		} else {
-			error("unknown switch `%c'", *ctx.opt);
+			strbuf_addf(&error_buf, "unknown switch `%c'",
+				    *ctx.opt);
 		}
 		usage_with_options(usagestr, options);
 	}
@@ -711,6 +715,13 @@ int usage_with_options_internal(const char * const *usagestr,
 	if (!usagestr)
 		return PARSE_OPT_HELP;
 
+	setup_pager();
+
+	if (strbuf_avail(&error_buf)) {
+		fprintf(stderr, "  Error: %s\n", error_buf.buf);
+		strbuf_release(&error_buf);
+	}
+
 	fprintf(stderr, "\n Usage: %s\n", *usagestr++);
 	while (*usagestr && **usagestr)
 		fprintf(stderr, "    or: %s\n", *usagestr++);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 1/4] perf tools: Improve ambiguous option help message Namhyung Kim <namhyung@kernel.org> - 2015-10-24 17:50 +0200
  [PATCH 2/4] perf report: Rename to --show-cpu-utilization Namhyung Kim <namhyung@kernel.org> - 2015-10-24 17:50 +0200
    Re: [PATCH 2/4] perf report: Rename to --show-cpu-utilization Ingo Molnar <mingo@kernel.org> - 2015-10-25 10:00 +0100
    [tip:perf/core] perf report: Rename to --show-cpu-utilization tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-10-29 10:50 +0100
  [PATCH 4/4] perf tools: Introduce usage_with_options_msg() Namhyung Kim <namhyung@kernel.org> - 2015-10-24 17:50 +0200
    Re: [PATCH 4/4] perf tools: Introduce usage_with_options_msg() Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-10-26 18:20 +0100
    RE: [PATCH 4/4] perf tools: Introduce usage_with_options_msg() 平松雅巳 / HIRAMATU,MASAMI   <masami.hiramatsu.pt@hitachi.com> - 2015-10-27 00:20 +0100
      Re: [PATCH 4/4] perf tools: Introduce usage_with_options_msg() Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-10-27 13:40 +0100
    [tip:perf/core] perf tools: Introduce usage_with_options_msg() tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-10-29 10:50 +0100
  [PATCH 3/4] perf tools: Setup pager when printing usage and help Namhyung Kim <namhyung@kernel.org> - 2015-10-24 17:50 +0200
    Re: [PATCH 3/4] perf tools: Setup pager when printing usage and help Ingo Molnar <mingo@kernel.org> - 2015-10-25 10:10 +0100
    [tip:perf/core] perf tools:   Setup pager when printing usage and help tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-10-29 10:50 +0100
  Re: [PATCH 1/4] perf tools: Improve ambiguous option help message Ingo Molnar <mingo@kernel.org> - 2015-10-25 09:50 +0100
  [tip:perf/core] perf tools: Improve ambiguous option help message tip-bot for Namhyung Kim <tipbot@zytor.com> - 2015-10-29 10:50 +0100

csiph-web