diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index 91353ca16d04d3c97f76b6e8d9edf02b7c43e969..7498ce25bce38dcff0693469f6f372aa50381e56 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))