diff options
Diffstat (limited to 'tools/perf/ui/stdio/hist.c')
| -rw-r--r-- | tools/perf/ui/stdio/hist.c | 26 | 
1 files changed, 18 insertions, 8 deletions
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index 91353ca16d04..7498ce25bce3 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c @@ -622,10 +622,25 @@ static int print_hierarchy_header(struct hists *hists, struct perf_hpp *hpp,  	return 2;  } +static int +hists__fprintf_hierarchy_headers(struct hists *hists, +				 struct perf_hpp *hpp, +				 FILE *fp) +{ +	struct perf_hpp_list_node *fmt_node; +	struct perf_hpp_fmt *fmt; + +	list_for_each_entry(fmt_node, &hists->hpp_formats, list) { +		perf_hpp_list__for_each_format(&fmt_node->hpp, fmt) +			perf_hpp__reset_width(fmt, hists); +	} + +	return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp); +} +  static int hists__fprintf_headers(struct hists *hists, FILE *fp)  {  	struct perf_hpp_fmt *fmt; -	struct perf_hpp_list_node *fmt_node;  	unsigned int width;  	const char *sep = symbol_conf.field_sep;  	char bf[96]; @@ -637,13 +652,8 @@ static int hists__fprintf_headers(struct hists *hists, FILE *fp)  	fprintf(fp, "# "); -	if (symbol_conf.report_hierarchy) { -		list_for_each_entry(fmt_node, &hists->hpp_formats, list) { -			perf_hpp_list__for_each_format(&fmt_node->hpp, fmt) -				perf_hpp__reset_width(fmt, hists); -		} -		return print_hierarchy_header(hists, &dummy_hpp, sep, fp); -	} +	if (symbol_conf.report_hierarchy) +		return hists__fprintf_hierarchy_headers(hists, &dummy_hpp, fp);  	hists__for_each_format(hists, fmt) {  		if (perf_hpp__should_skip(fmt, hists))  |