Re: [PATCH v3 1/3] Introduce die_errno() that appends strerror(errno) to die()
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Jun 9, 2009, 08:22 UTC
- Message-ID
- <200906091022.31738.trast@student.ethz.ch>
- In-Reply-To
- <20090608220713.GB29942@sigill.intra.peff.net>
Jeff King wrote:
Show 16 quoted lines
> On Mon, Jun 08, 2009 at 11:02:18PM +0200, Thomas Rast wrote:
>
> > +void die_errno(const char *fmt, ...)
> > +{
> > + va_list params;
> > + char fmt_with_err[1024];
> > +
> > + snprintf(fmt_with_err, sizeof(fmt_with_err), "%s: %s", fmt, strerror(errno));
> > +
> > + va_start(params, fmt);
> > + die_routine(fmt_with_err, params);
> > + va_end(params);
> > +}
>
> Aren't you assuming that strerror(errno) has no '%'-signs here, which is
> what kicked off the whole discussion?True, of course. Hrm.
So do we go back to v2 (for 1/3) and ask future callers to never use custom formats with die_errno, or should I write a version that doubles the % characters while tacking the error message onto the format?
[It's a pity that it seems impossible to add an extra argument to the va_args...]
--
Thomas Rast
trast@{inf,student}.ethz.ch