Messages in this thread Patch in this message | | | From | Michal Nazarewicz <> | Subject | Re: [PATCH] tools: perf: prefer clarity in setup_pager | Date | Mon, 07 Jul 2014 14:32:08 +0200 |
| |
On Sun, Jul 06 2014, Michael Lentine <mlentine@google.com> wrote: > Unless I'm missing something this removes defaulting the pager to cat > if nothing is found which is very useful for devices/oses without less > or pager.
The last two conditions are merged together, i.e.
if (!pager) pager = "cat"; if (!*pager || !strcmp(pager, "cat")) return;
becomes:
if (!pager || !*pager || !strcmp(pager, "cat")) return;
This also in my opinion simplifies the code since the original is a bit convoluted. If pager is NULL it first assigns "cat" to it and then in the very next condition compares pager to "cat". With this change, it's more obvious that if pager is NULL, the function will terminate.
> On Sun, Jul 6, 2014 at 10:42 AM, Michal Nazarewicz <mina86@mina86.com> > wrote: >> “!(pager || access(…))” is indeed pretty smart way to write >> “!pager && access(…) == 0” but other than being clever it gives >> no advantages and merely confuses the reader who needs to wonder >> what is actually going on. >> >> As such, replace the checks with much cleaner ones. >> >> Also, while at it, merge the lest “!pager” test with the next >> test that yields true after the “!pager” if's body is executed. >> --- >> tools/perf/util/pager.c | 8 +++----- >> 1 file changed, 3 insertions(+), 5 deletions(-) >> >> diff --git a/tools/perf/util/pager.c b/tools/perf/util/pager.c >> index 31ee02d..14da1b0 100644 >> --- a/tools/perf/util/pager.c >> +++ b/tools/perf/util/pager.c >> @@ -57,13 +57,11 @@ void setup_pager(void) >> } >> if (!pager) >> pager = getenv("PAGER"); >> - if (!(pager || access("/usr/bin/pager", X_OK))) >> + if (!pager && access("/usr/bin/pager", X_OK) == 0) >> pager = "/usr/bin/pager"; >> - if (!(pager || access("/usr/bin/less", X_OK))) >> + if (!pager && access("/usr/bin/less", X_OK) == 0) >> pager = "/usr/bin/less"; >> - if (!pager) >> - pager = "cat"; >> - if (!*pager || !strcmp(pager, "cat")) >> + if (!pager || !*pager || !strcmp(pager, "cat")) >> return; >> >> spawned_pager = 1; /* means we are emitting to terminal */
-- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<mpn@google.com>--<xmpp:mina86@jabber.org>--ooO--(_)--Ooo-- -- 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/
| |