perf probe: Fix line range description since a single file is allowed

$ perf-probe -L sched.c

is currently allowed but not documented.

Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
LKML-Reference: <1292854685-8230-5-git-send-email-fbuihuu@gmail.com>
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Franck Bui-Huu 2010-12-20 15:18:03 +01:00 committed by Arnaldo Carvalho de Melo
parent 44b81e929b
commit 9d95b580a8
2 changed files with 9 additions and 6 deletions

View file

@ -117,7 +117,7 @@ LINE SYNTAX
----------- -----------
Line range is described by following syntax. Line range is described by following syntax.
"FUNC[:RLN[+NUM|-RLN2]]|SRC:ALN[+NUM|-ALN2]" "FUNC[:RLN[+NUM|-RLN2]]|SRC[:ALN[+NUM|-ALN2]]"
FUNC specifies the function name of showing lines. 'RLN' is the start line FUNC specifies the function name of showing lines. 'RLN' is the start line
number from function entry line, and 'RLN2' is the end line number. As same as number from function entry line, and 'RLN2' is the end line number. As same as

View file

@ -515,15 +515,18 @@ int show_available_vars(struct perf_probe_event *pevs __unused,
} }
#endif #endif
/*
* Stuff 'lr' according to the line range described by 'arg'.
* The line range syntax is described by:
*
* SRC[:SLN[+NUM|-ELN]]
* FNC[:SLN[+NUM|-ELN]]
*/
int parse_line_range_desc(const char *arg, struct line_range *lr) int parse_line_range_desc(const char *arg, struct line_range *lr)
{ {
const char *ptr; const char *ptr;
char *tmp; char *tmp;
/*
* <Syntax>
* SRC:SLN[+NUM|-ELN]
* FUNC[:SLN[+NUM|-ELN]]
*/
ptr = strchr(arg, ':'); ptr = strchr(arg, ':');
if (ptr) { if (ptr) {
lr->start = (int)strtoul(ptr + 1, &tmp, 0); lr->start = (int)strtoul(ptr + 1, &tmp, 0);