Lines Matching refs:lr

376 				      struct line_range *lr,  in get_alternative_line_range()  argument
379 struct perf_probe_point pp = { .function = lr->function, in get_alternative_line_range()
380 .file = lr->file, in get_alternative_line_range()
381 .line = lr->start }; in get_alternative_line_range()
387 if (lr->end != INT_MAX) in get_alternative_line_range()
388 len = lr->end - lr->start; in get_alternative_line_range()
392 lr->function = result.function; in get_alternative_line_range()
393 lr->file = result.file; in get_alternative_line_range()
394 lr->start = result.line; in get_alternative_line_range()
395 if (lr->end != INT_MAX) in get_alternative_line_range()
396 lr->end = lr->start + len; in get_alternative_line_range()
782 static int __show_line_range(struct line_range *lr, const char *module, in __show_line_range() argument
798 ret = debuginfo__find_line_range(dinfo, lr); in __show_line_range()
800 ret = get_alternative_line_range(dinfo, lr, module, user); in __show_line_range()
802 ret = debuginfo__find_line_range(dinfo, lr); in __show_line_range()
814 tmp = lr->path; in __show_line_range()
815 ret = get_real_path(tmp, lr->comp_dir, &lr->path); in __show_line_range()
818 if (tmp != lr->path) in __show_line_range()
828 if (lr->function) in __show_line_range()
829 fprintf(stdout, "<%s@%s:%d>\n", lr->function, lr->path, in __show_line_range()
830 lr->start - lr->offset); in __show_line_range()
832 fprintf(stdout, "<%s:%d>\n", lr->path, lr->start); in __show_line_range()
834 fp = fopen(lr->path, "r"); in __show_line_range()
836 pr_warning("Failed to open %s: %s\n", lr->path, in __show_line_range()
841 while (l < lr->start) { in __show_line_range()
847 intlist__for_each(ln, lr->line_list) { in __show_line_range()
849 ret = show_one_line(fp, l - lr->offset); in __show_line_range()
853 ret = show_one_line_with_num(fp, l++ - lr->offset); in __show_line_range()
858 if (lr->end == INT_MAX) in __show_line_range()
859 lr->end = l + NR_ADDITIONAL_LINES; in __show_line_range()
860 while (l <= lr->end) { in __show_line_range()
861 ret = show_one_line_or_eof(fp, l++ - lr->offset); in __show_line_range()
870 int show_line_range(struct line_range *lr, const char *module, bool user) in show_line_range() argument
877 ret = __show_line_range(lr, module, user); in show_line_range()
1002 int show_line_range(struct line_range *lr __maybe_unused, in show_line_range()
1019 void line_range__clear(struct line_range *lr) in line_range__clear() argument
1021 free(lr->function); in line_range__clear()
1022 free(lr->file); in line_range__clear()
1023 free(lr->path); in line_range__clear()
1024 free(lr->comp_dir); in line_range__clear()
1025 intlist__delete(lr->line_list); in line_range__clear()
1026 memset(lr, 0, sizeof(*lr)); in line_range__clear()
1029 int line_range__init(struct line_range *lr) in line_range__init() argument
1031 memset(lr, 0, sizeof(*lr)); in line_range__init()
1032 lr->line_list = intlist__new(NULL); in line_range__init()
1033 if (!lr->line_list) in line_range__init()
1071 int parse_line_range_desc(const char *arg, struct line_range *lr) in parse_line_range_desc() argument
1079 lr->start = 0; in parse_line_range_desc()
1080 lr->end = INT_MAX; in parse_line_range_desc()
1086 err = parse_line_num(&range, &lr->start, "start line"); in parse_line_range_desc()
1093 err = parse_line_num(&range, &lr->end, "end line"); in parse_line_range_desc()
1098 lr->end += lr->start; in parse_line_range_desc()
1105 lr->end--; in parse_line_range_desc()
1109 pr_debug("Line range is %d to %d\n", lr->start, lr->end); in parse_line_range_desc()
1112 if (lr->start > lr->end) { in parse_line_range_desc()
1126 lr->file = strdup(++file); in parse_line_range_desc()
1127 if (lr->file == NULL) { in parse_line_range_desc()
1131 lr->function = name; in parse_line_range_desc()
1133 lr->file = name; in parse_line_range_desc()
1135 lr->function = name; in parse_line_range_desc()