Re: [PATCH] perf: Fix accidentally preprocessed snprintf callback

From: Frederic Weisbecker
Date: Wed Apr 14 2010 - 10:55:37 EST


On Tue, Apr 13, 2010 at 11:28:00PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Apr 14, 2010 at 02:41:16AM +0200, Frederic Weisbecker escreveu:
> > On Wed, Apr 14, 2010 at 02:37:48AM +0200, Frederic Weisbecker wrote:
> > > struct sort_entry has a callback named snprintf that turns an
> > > entry into a string result.
> > >
> > > But there are glibc versions that implement snprintf through a
> > > macro. The following expression is then going to get the snprintf
> > > call preprocessed:
> > >
> > > ent->snprintf(...)
> > >
> > > to finally end up in a build error:
> > >
> > > util/hist.c: Dans la fonction «hist_entry__snprintf» :
> > > util/hist.c:539: erreur: «struct sort_entry» has no member named «__builtin___snprintf_chk»
> > >
> > > To fix this, rename struct sort_entry::snprintf() callback to
> > > to_string(), assuming at least Java methods naming won't ever
> > > conflict with perf.
> >
> >
> > Note I'm not entirely happy with this to_string() renaming.
> > May be append_string() would have been better. I don't know.
> > snprintf() was just too good.
> > If you think about something else, don't hesistate to change,
> > or I can change it myself if you want.
>
> psnprintf() I guess, the intent was exactly to mean that it is indeed
> similar to snprintf... dammit, there is already a psnprintf out there
> :-\
>
> Perhaps just do it as ->he_snprintf and have the other methods as well
> prefixed with he as a shorthand for hist_entry, that is what the methods
> operate, besides the string, ok?


Sure, I'll resend.

This is going to be se_sprintf() though, as it's about sort_entry, not
hist_entry :)

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/