From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759458AbcAKKjt (ORCPT ); Mon, 11 Jan 2016 05:39:49 -0500 Received: from mail-pa0-f66.google.com ([209.85.220.66]:36259 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757551AbcAKKjr (ORCPT ); Mon, 11 Jan 2016 05:39:47 -0500 From: Namhyung Kim To: Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Andi Kleen , David Ahern , Wang Nan Subject: [PATCH v2 4/4] perf tools: Fallback to srcdir/Documentation/tips.txt Date: Mon, 11 Jan 2016 19:38:52 +0900 Message-Id: <1452508732-5919-1-git-send-email-namhyung@kernel.org> X-Mailer: git-send-email 2.6.4 In-Reply-To: <11091820.GB15415@krava.brq.redhat.com> References: <11091820.GB15415@krava.brq.redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some people don't install perf, but just use compiled version in the source. Fallback to lookup the source directory for those poor guys. :) Signed-off-by: Namhyung Kim --- tools/perf/builtin-report.c | 10 +++++++++- tools/perf/util/util.c | 11 ++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index d5a42ee12529..2bf537f190a0 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -28,6 +28,7 @@ #include "util/tool.h" #include +#include #include "util/parse-events.h" #include "util/thread.h" @@ -433,7 +434,14 @@ static int report__browse_hists(struct report *rep) int ret; struct perf_session *session = rep->session; struct perf_evlist *evlist = session->evlist; - const char *help = perf_tip(TIPDIR); + const char *help = perf_tip(system_path(TIPDIR)); + + if (help == NULL) { + /* fallback for people who don't install perf ;-) */ + help = perf_tip(DOCDIR); + if (help == NULL) + help = "Cannot load tips.txt file, please install perf!"; + } switch (use_browser) { case 1: diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 88b8f8d21f58..45b7cd4237e9 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -17,7 +17,6 @@ #include #include "callchain.h" #include "strlist.h" -#include struct callchain_param callchain_param = { .mode = CHAIN_GRAPH_ABS, @@ -672,20 +671,18 @@ const char *perf_tip(const char *dirpath) struct str_node *node; char *tip = NULL; struct strlist_config conf = { - .dirname = system_path(dirpath) , + .dirname = dirpath, + .file_only = true, }; tips = strlist__new("tips.txt", &conf); - if (tips == NULL || strlist__nr_entries(tips) == 1) { - tip = (char *)"Cannot find tips.txt file"; - goto out; - } + if (tips == NULL) + return NULL; node = strlist__entry(tips, random() % strlist__nr_entries(tips)); if (asprintf(&tip, "Tip: %s", node->s) < 0) tip = (char *)"Tip: get more memory! ;-)"; -out: strlist__delete(tips); return tip; -- 2.6.4