perf hists browser: Fix column indentation on --hierarchy
When horizontall scrolling is used in hierarchy mode, the the right most column has unnecessary indentation. Actually it's needed only if some of left (overhead) columns were shown. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20161108130833.9263-4-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
131d51eb1d
commit
b9bf911e99
|
@ -1361,8 +1361,10 @@ static int hist_browser__show_hierarchy_entry(struct hist_browser *browser,
|
|||
width -= hpp.buf - s;
|
||||
}
|
||||
|
||||
ui_browser__write_nstring(&browser->b, "", hierarchy_indent);
|
||||
width -= hierarchy_indent;
|
||||
if (!first) {
|
||||
ui_browser__write_nstring(&browser->b, "", hierarchy_indent);
|
||||
width -= hierarchy_indent;
|
||||
}
|
||||
|
||||
if (column >= browser->b.horiz_scroll) {
|
||||
char s[2048];
|
||||
|
@ -1565,6 +1567,7 @@ static int hists_browser__scnprintf_hierarchy_headers(struct hist_browser *brows
|
|||
if (advance_hpp_check(&dummy_hpp, ret))
|
||||
return ret;
|
||||
|
||||
first_node = true;
|
||||
/* the first hpp_list_node is for overhead columns */
|
||||
fmt_node = list_first_entry(&hists->hpp_formats,
|
||||
struct perf_hpp_list_node, list);
|
||||
|
@ -1579,12 +1582,16 @@ static int hists_browser__scnprintf_hierarchy_headers(struct hist_browser *brows
|
|||
ret = scnprintf(dummy_hpp.buf, dummy_hpp.size, " ");
|
||||
if (advance_hpp_check(&dummy_hpp, ret))
|
||||
break;
|
||||
|
||||
first_node = false;
|
||||
}
|
||||
|
||||
ret = scnprintf(dummy_hpp.buf, dummy_hpp.size, "%*s",
|
||||
indent * HIERARCHY_INDENT, "");
|
||||
if (advance_hpp_check(&dummy_hpp, ret))
|
||||
return ret;
|
||||
if (!first_node) {
|
||||
ret = scnprintf(dummy_hpp.buf, dummy_hpp.size, "%*s",
|
||||
indent * HIERARCHY_INDENT, "");
|
||||
if (advance_hpp_check(&dummy_hpp, ret))
|
||||
return ret;
|
||||
}
|
||||
|
||||
first_node = true;
|
||||
list_for_each_entry_continue(fmt_node, &hists->hpp_formats, list) {
|
||||
|
|
Loading…
Reference in New Issue