Re: [PATCH 03/14] perf tool: Fix period symbol_conf.field_sep display

Jiri Olsa
2012-11-29T11:54:34Z

On Thu, Nov 29, 2012 at 04:56:04PM +0900, Namhyung Kim wrote:
> On Wed, 28 Nov 2012 14:52:38 +0100, Jiri Olsa wrote:
> > Currently we don't properly display hist data with
> > symbol_conf.field_sep separator. We need to display
> > either space or separator.
> >
> > Signed-off-by: Jiri Olsa <jolsa@redhat.com>
> > Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> > Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > Cc: Ingo Molnar <mingo@elte.hu>
> > Cc: Paul Mackerras <paulus@samba.org>
> > Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
> > Cc: Frederic Weisbecker <fweisbec@gmail.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > ---
> > tools/perf/ui/hist.c | 8 ++------
> > 1 file changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
> > index 5452960..20a4392 100644
> > --- a/tools/perf/ui/hist.c
> > +++ b/tools/perf/ui/hist.c
> > @@ -523,17 +523,13 @@ int hist_entry__period_snprintf(struct perf_hpp *hpp, struct hist_entry *he,
> > struct perf_hpp_fmt *fmt;
> > char *start = hpp->buf;
> > int ret;
> > - bool first = true;
> >
> > if (symbol_conf.exclude_other && !he->parent)
> > return 0;
> >
> > perf_hpp__for_each_format(fmt) {
> > - if (!sep || !first) {
> > - ret = scnprintf(hpp->buf, hpp->size, "%s", sep ?: " ");
> > - advance_hpp(hpp, ret);
> > - first = false;
> > - }
> > + ret = scnprintf(hpp->buf, hpp->size, "%s", sep ?: " ");
> > + advance_hpp(hpp, ret);
>
> It will display the separator even before the first column so that the
> output can be messed up with this. I can see that there's a bug setting
> 'first' to false - the line should be moved out of the block otherwise
> it's pointless since we cannot enter the block.

hum, I'll retest

thanks,
jirka