Messages in this thread | | | Subject | Re: [PATCH 05/10] perf hists: Fixup addr snprintf width on 32 bit arches | From | Joe Perches <> | Date | Fri, 06 Aug 2010 08:35:32 -0700 |
| |
On Fri, 2010-08-06 at 11:29 -0300, Arnaldo Carvalho de Melo wrote: > Em Thu, Aug 05, 2010 at 06:58:07PM -0700, Joe Perches escreveu: > > On Thu, 2010-08-05 at 22:46 -0300, Arnaldo Carvalho de Melo wrote: > > > From: Arnaldo Carvalho de Melo <acme@redhat.com> > > > By using BITS_PER_LONG/4 as the width specifier. > > [] > > > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c > > > index 1c61a4f..b62a553 100644 > > > --- a/tools/perf/util/sort.c > > > +++ b/tools/perf/util/sort.c > > [] > > > - ret += repsep_snprintf(bf, size, "%#018llx %c ", self->ip, o); > > > + ret += repsep_snprintf(bf, size, "%*Lx %c ", > > > + BITS_PER_LONG / 4, self->ip, o); > > [] > > > - ret += repsep_snprintf(bf + ret, size - ret, "%#016llx", self->ip); > > > + ret += repsep_snprintf(bf + ret, size - ret, "%*Lx", > > > + BITS_PER_LONG / 4, self->ip); > > > > This drops leading 0's. > > Is this a problem? This removes clutter from the output, right?
Dunno, you made an output that looked like a pointer address,
64 bit:
"0x0123456789abcdef" now is " 123456789abcdef"
32 bit:
"0x0000000001234567" now is " 1234567"
snprintf(loc, size, "%#0*lx", BITS_PER_LONG / 4 + 2, (long)) might be better.
snprintf(loc, size, "%p", (void)long) might be best.
| |