perf tools: Add cat as fallback pager
authorMichael Lentine <mlentine@google.com>
Tue, 20 May 2014 09:48:49 +0000 (11:48 +0200)
committerJiri Olsa <jolsa@kernel.org>
Wed, 21 May 2014 09:48:33 +0000 (11:48 +0200)
This patch adds a fallback to cat for the pager. This is useful
on environments, such as Android, where less does not exist.
It is better to default to cat than to abort.

Signed-off-by: Michael Lentine <mlentine@google.com>
Reviewed-by: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1400579330-5043-2-git-send-email-eranian@google.com
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
tools/perf/util/pager.c

index 3322b8446e891af7d420f0eb18e2232db51e8621..31ee02d4e988a7ea4b0101c0ef4e1ae74f349023 100644 (file)
@@ -57,13 +57,13 @@ void setup_pager(void)
        }
        if (!pager)
                pager = getenv("PAGER");
-       if (!pager) {
-               if (!access("/usr/bin/pager", X_OK))
-                       pager = "/usr/bin/pager";
-       }
+       if (!(pager || access("/usr/bin/pager", X_OK)))
+               pager = "/usr/bin/pager";
+       if (!(pager || access("/usr/bin/less", X_OK)))
+               pager = "/usr/bin/less";
        if (!pager)
-               pager = "less";
-       else if (!*pager || !strcmp(pager, "cat"))
+               pager = "cat";
+       if (!*pager || !strcmp(pager, "cat"))
                return;
 
        spawned_pager = 1; /* means we are emitting to terminal */