On Tue, Jan 19, 2010 at 10:56:48PM +0000, Colin Watson wrote:
> 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.

Meh, I guess I'm one of those programmers who bent their brains.

Ok, feel free to go with proposed interface as grub_xasprintf().

-- 
Robert Millan

  "Be the change you want to see in the world" -- Gandhi


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to