grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] switch from sprintf to asprintf and snprintf


From: Colin Watson
Subject: Re: [PATCH] switch from sprintf to asprintf and snprintf
Date: Tue, 19 Jan 2010 22:56:48 +0000
User-agent: Mutt/1.5.18 (2008-05-17)

On Tue, Jan 19, 2010 at 11:29:14PM +0100, Robert Millan wrote:
> On Sun, Jan 17, 2010 at 01:02:55PM +0100, Vladimir 'φ-coder/phcoder' 
> Serbinenko wrote:
> > Robert Millan wrote:
> > > On Fri, Jan 01, 2010 at 09:32:24AM +0000, Colin Watson wrote:
> > >> On Tue, Dec 29, 2009 at 10:30:12AM +0100, Vladimir 'φ-coder/phcoder' 
> > >> Serbinenko wrote:
> > >>> +char *EXPORT_FUNC(grub_asprintf) (const char *fmt, ...)
> > >>> +     __attribute__ ((format (printf, 1, 2)));
> > >>
> > >> It's very confusing that you've made grub_asprintf have a dramatically
> > >> different interface from asprintf. Perhaps you could call this
> > >> grub_xasprintf instead?
> > >
> > > Is it feasible to implement the same interface as asprintf instead?
> > 
> > it's feasible but the only advantage it gives is the return value nobody
> > uses anyway
> 
> What about consistency with what programmers expect?
> 
> If you don't want the return value, you can just discard it.

asprintf is not really an advantageous interface to emulate.  It
requires tedious manual error handling and hardly anyone gets it right
(GRUB didn't get it right across the board, before I converted it to
xasprintf!), not to mention that error_code = function (&string, ...) is
unpleasant to start with.  xasprintf is a much nicer interface; simply
returning the string is what most programmers *actually* expect unless
they've already bent their brains around asprintf.

The only variance from xasprintf seems to be what the error behaviour
ought to be.

-- 
Colin Watson                                       address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]