Re: [RFC PATCH] perf hists: Do column alignment on the format iterator

From: Jiri Olsa
Date: Fri Feb 12 2016 - 07:56:32 EST


On Thu, Feb 11, 2016 at 05:27:18PM -0300, Arnaldo Carvalho de Melo wrote:

SNIP

> int column = 0;
>
> hist_browser__gotorc(browser, row, 0);
>
> hists__for_each_format(browser->hists, fmt) {
> + struct perf_hpp hpp = {
> + .buf = s,
> + .size = sizeof(s),
> + .ptr = &arg,
> + };
> +
> if (perf_hpp__should_skip(fmt, entry->hists) ||
> column++ < browser->b.horiz_scroll)
> continue;
> @@ -1122,8 +1123,9 @@ static int hist_browser__show_entry(struct hist_browser *browser,
> if (fmt->color) {
> width -= fmt->color(fmt, &hpp, entry);
> } else {
> - width -= fmt->entry(fmt, &hpp, entry);
> + hist_entry__snprintf_alignment(entry, &hpp, fmt, fmt->entry(fmt, &hpp, entry));
> ui_browser__printf(&browser->b, "%s", s);
> + width -= hpp.buf - s;

how's the 'color' case handled?

jirka