From: Yunlong Song <yunlong.song@huawei.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: <a.p.zijlstra@chello.nl>, <paulus@samba.org>, <mingo@redhat.com>,
<acme@kernel.org>, <linux-kernel@vger.kernel.org>,
<wangnan0@huawei.com>
Subject: Re: [PATCH] perf record: Remove the '--(null)' long_name for --list-opts
Date: Fri, 27 Feb 2015 18:47:30 +0800 [thread overview]
Message-ID: <54F04B42.1@huawei.com> (raw)
In-Reply-To: <20150218175610.GA31995@gmail.com>
On 2015/2/19 1:56, Ingo Molnar wrote:
>
> * Yunlong Song <yunlong.song@huawei.com> wrote:
>
>> If the long_name of a 'struct option' is defined as NULL, --list-opts
>> will incorrectly print '--(null)' in its output. As a result, '--(null)'
>> will finally appear in the case of bash completion, e.g. 'perf record --'.
>>
>> Example:
>>
>> Before this patch:
>>
>> $ perf record --list-opts
>>
>> --event --filter --pid --tid --realtime --no-buffering --raw-samples
>> --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages
>> --group --(null) --call-graph --verbose --quiet --stat --data
>> --timestamp --period --no-samples --no-buildid-cache --no-buildid
>> --cgroup --delay --uid --branch-any --branch-filter --weight
>> --transaction --per-thread --intr-regs
>>
>> After this patch:
>>
>> $ perf record --list-opts
>>
>> --event --filter --pid --tid --realtime --no-buffering --raw-samples
>> --all-cpus --cpu --count --output --no-inherit --freq --mmap-pages
>> --group --call-graph --verbose --quiet --stat --data --timestamp
>> --period --no-samples --no-buildid-cache --no-buildid --cgroup --delay
>> --uid --branch-any --branch-filter --weight --transaction --per-thread
>> --intr-regs
>>
>> Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
>> ---
>> tools/perf/util/parse-options.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c
>> index 4ee9a86..2bfe0b3 100644
>> --- a/tools/perf/util/parse-options.c
>> +++ b/tools/perf/util/parse-options.c
>> @@ -505,7 +505,8 @@ int parse_options_subcommand(int argc, const char **argv, const struct option *o
>> break;
>> case PARSE_OPT_LIST_OPTS:
>> while (options->type != OPTION_END) {
>> - printf("--%s ", options->long_name);
>> + if (options->long_name)
>> + printf("--%s ", options->long_name);
>
> There seems to be another 'perf record --list-opts' bug as
> well:
>
> comet:~/tip> perf record --list-opts
> --event --filter --pid --tid --realtime --no-buffering
> --raw-samples --all-cpus --cpu --count --output
> --no-inherit --freq --mmap-pages --group --(null)
> --call-graph --verbose --quiet --stat --data --timestamp
> --period --no-samples --no-buildid-cache --no-buildid
> --cgroup --delay --uid --branch-any --branch-filter
> --weight --transaction --per-thread --intr-regs comet:~/tip>
>
> Note the lack of newline at the end of the printout.
>
> Thanks,
>
> Ingo
>
> .
>
I have put this patch into my new patchset, see:
http://lkml.org/lkml/2015/2/27/139 [PATCH v3 6/7],
and the new patchset has already fixed the problem of 'lack of newline
at the end of the printout', see:
http://lkml.org/lkml/2015/2/27/140 [PATCH v3 5/7]
--
Thanks,
Yunlong Song
prev parent reply other threads:[~2015-02-27 10:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-16 11:58 [PATCH] perf record: Remove the '--(null)' long_name for --list-opts Yunlong Song
2015-02-18 17:56 ` Ingo Molnar
2015-02-27 10:47 ` Yunlong Song [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54F04B42.1@huawei.com \
--to=yunlong.song@huawei.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=paulus@samba.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.