lkml.org 
[lkml]   [2013]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 6/6] perf tools: Enhancement for perf list for unexpected input.
Date
Example:
# perf list test

List of pre-defined events (to be used in -e):
# echo $?
0

Verification:
# perf list test

Error: No event for test.
Usage:
perf list [hw|sw|cache|tracepoint|pmu|event_glob]
# echo $?
255

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
---
tools/perf/builtin-list.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
index 82d54b6..ba23f65 100644
--- a/tools/perf/builtin-list.c
+++ b/tools/perf/builtin-list.c
@@ -63,9 +63,11 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
else {
char *sep = strchr(argv[i], ':'), *s;
int sep_idx;
+ unsigned int count;

if (sep == NULL) {
- print_events(argv[i], false);
+ if(!(count = print_events(argv[i], false)))
+ goto err_out;
continue;
}
sep_idx = sep - argv[i];
@@ -74,9 +76,16 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
return -1;

s[sep_idx] = '\0';
- print_tracepoint_events(s, s + sep_idx + 1, false);
+ if (!(count = print_tracepoint_events(s, s + sep_idx + 1, false)))
+ goto err_out;
free(s);
}
}
+
return 0;
+
+err_out:
+ printf("\nError: No event for %s.\n", argv[i]);
+ printf("Usage:\n\t%s\n", list_usage[0]);
+ return -1;
}
--
1.8.2.1


\
 
 \ /
  Last update: 2013-12-12 09:01    [W:0.026 / U:1.832 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site