All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Jeff King <peff@peff.net>
Cc: Thomas Rast <trast@student.ethz.ch>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org, Johannes Sixt <j6t@kdbg.org>,
	Alexander Potashev <aspotashev@gmail.com>
Subject: Re: [PATCH v3 1/3] Introduce die_errno() that appends strerror(errno) to die()
Date: Tue, 09 Jun 2009 11:29:51 +0200	[thread overview]
Message-ID: <4A2E2B8F.3020005@op5.se> (raw)
In-Reply-To: <20090609085328.GA25721@coredump.intra.peff.net>

Jeff King wrote:
> On Tue, Jun 09, 2009 at 10:22:30AM +0200, Thomas Rast wrote:
> 
>>> 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?
> 
> Personally, I think it is fine to assume that the format and arguments
> to die(), die_errno(), and to the die_routine() are all
> printf-compatible. That is how it has always been until now, and I don't
> see any callers who would want to change that.
> 
> This is all internal to git.  It's not as if we are talking about a
> library being called by arbitrary code, and we want to leave doors open
> for arbitrary clients. libgit2 would probably take a different approach
> (though I imagine their general strategy is never to die(), but to
> always return an error condition, anyway).
> 

Yup. libgit2 sets an internal git_errno variable and returns an error
code for each error it encounters, and we're referring callers to
regular "errno" to find out more about *why* a particular git_errno
condition was encountered.

We might want to give applications an easy way to die with a sensible
error message, but that's so far in the future that it's not worth
bothering with.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

  reply	other threads:[~2009-06-09  9:30 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-02 21:34 [PATCH] add strerror(errno) to die() calls where applicable Thomas Rast
2009-06-03  1:55 ` Jeff King
     [not found]   ` <2325a7950906031855t1977448lbb1c8aa671c72f3d@mail.gmail.com>
2009-06-04  1:58     ` Alexander Potashev
2009-06-04 20:32       ` Jeff King
2009-06-04  2:05   ` [PATCH] diesys calls die and also reports strerror(errno) Alexander Potashev
2009-06-04 20:50     ` Jeff King
2009-06-04 21:13       ` Junio C Hamano
2009-06-05  6:25       ` Johannes Sixt
2009-06-05  7:12         ` Junio C Hamano
2009-06-06 22:09           ` Jeff King
2009-06-06 13:09   ` [PATCH] add strerror(errno) to die() calls where applicable Thomas Rast
2009-06-06 14:44     ` [PATCH v2 0/3] Thomas Rast <trast@student.ethz.ch> Thomas Rast
2009-06-06 14:44       ` [PATCH v2 1/3] Introduce die_errno() that appends strerror(errno) to die() Thomas Rast
2009-06-06 20:36         ` Johannes Sixt
2009-06-06 20:56           ` Thomas Rast
2009-06-06 21:17             ` Johannes Sixt
2009-06-06 22:47             ` Jeff King
2009-06-06 22:13         ` Jeff King
2009-06-07 11:12           ` Alexander Potashev
2009-06-07 16:57             ` Junio C Hamano
2009-06-08 12:36               ` Jeff King
2009-06-08 15:35                 ` Alexander Potashev
2009-06-08 22:04                   ` Jeff King
2009-06-06 14:44       ` [PATCH v2 2/3] Convert existing die(..., strerror(errno)) to die_errno() Thomas Rast
2009-06-06 20:31         ` Johannes Sixt
2009-06-06 14:44       ` [PATCH v2 3/3] Use die_errno() instead of die() when checking syscalls Thomas Rast
2009-06-06 21:02         ` Johannes Sixt
2009-06-06 22:27           ` Thomas Rast
2009-06-08 21:02       ` [PATCH v3 0/3] die_errno() Thomas Rast
2009-06-08 21:02         ` [PATCH v3 1/3] Introduce die_errno() that appends strerror(errno) to die() Thomas Rast
2009-06-08 22:07           ` Jeff King
2009-06-09  8:22             ` Thomas Rast
2009-06-09  8:53               ` Jeff King
2009-06-09  9:29                 ` Andreas Ericsson [this message]
2009-06-08 21:02         ` [PATCH v3 2/3] Convert existing die(..., strerror(errno)) to die_errno() Thomas Rast
2009-06-08 21:02         ` [PATCH v3 3/3] Use die_errno() instead of die() when checking syscalls Thomas Rast
2009-06-27 15:58         ` [PATCH v4 0/4] die_errno() Thomas Rast
2009-06-27 15:58           ` [PATCH v4 1/4] Introduce die_errno() that appends strerror(errno) to die() Thomas Rast
2009-06-27 15:58           ` [PATCH v4 2/4] die_errno(): double % in strerror() output just in case Thomas Rast
2009-06-27 15:58           ` [PATCH v4 3/4] Convert existing die(..., strerror(errno)) to die_errno() Thomas Rast
2009-06-27 15:58           ` [PATCH v4 4/4] Use die_errno() instead of die() when checking syscalls Thomas Rast
2009-06-27 18:38           ` [PATCH v4 0/4] die_errno() Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A2E2B8F.3020005@op5.se \
    --to=ae@op5.se \
    --cc=aspotashev@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j6t@kdbg.org \
    --cc=peff@peff.net \
    --cc=trast@student.ethz.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.