From: Jeff King <peff@peff.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>,
Junio C Hamano <gitster@pobox.com>,
GIT Mailing-list <git@vger.kernel.org>
Subject: Re: [PATCH] compat/mingw.[ch]: Change return type of exec functions to int
Date: Thu, 5 Apr 2012 18:06:15 -0400 [thread overview]
Message-ID: <20120405220615.GA11751@sigill.intra.peff.net> (raw)
In-Reply-To: <20120405181600.GA6340@burratino>
On Thu, Apr 05, 2012 at 01:16:01PM -0500, Jonathan Nieder wrote:
> Ramsay Jones wrote:
>
> > CC run-command.o
> > run-command.c: In function 'sane_execvp':
> > run-command.c:124: error: invalid use of void expression
> > make: *** [run-command.o] Error 1
> >
> > My first reaction was to simply remove the conditional since, if execvp()
> > returns at all, the result will always be -1 and so the condition will
> > always be false. ie. the conditional is pointless.
> >
> > However, I found the incorrect return type of the mingw_execv[p]() to be
> > a gratuitous incompatibility, so ... :-P
Yeah, it is just asking for trouble to #define a new execvp that does
not match the declaration of the existing one, so I think Ramsay's patch
is good.
> My bad. I agree that in addition to making the return type fix,
> squashing the following into jk/run-command-eacces would be a good
> idea.
>
> diff --git i/run-command.c w/run-command.c
> index 04f0190d..fcd7e192 100644
> --- i/run-command.c
> +++ w/run-command.c
> @@ -59,8 +59,7 @@ static int exists_in_PATH(const char *file)
>
> int sane_execvp(const char *file, char * const argv[])
> {
> - if (!execvp(file, argv))
> - return 0;
> + execvp(file, argv);
I don't have a strong opinion. The "return 0" is a little misleading,
since it will never be called, but I think we should at least have a
comment like:
diff --git a/run-command.c b/run-command.c
index 7123436..5b6a368 100644
--- a/run-command.c
+++ b/run-command.c
@@ -117,8 +117,11 @@ static int exists_in_PATH(const char *file)
int sane_execvp(const char *file, char * const argv[])
{
- if (!execvp(file, argv))
- return 0;
+ /*
+ * No need to check the return value; if it returns at all, an error
+ * occurred.
+ */
+ execvp(file, argv);
/*
* When a command can't be found because one of the directories
next prev parent reply other threads:[~2012-04-05 22:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-05 17:48 [PATCH] compat/mingw.[ch]: Change return type of exec functions to int Ramsay Jones
2012-04-05 18:16 ` Jonathan Nieder
2012-04-05 22:06 ` Jeff King [this message]
2012-04-05 22:34 ` Jonathan Nieder
2012-04-06 0:24 ` Jeff King
2012-04-06 0:42 ` Jonathan Nieder
2012-04-06 0:44 ` Jeff King
2012-04-06 1:00 ` 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=20120405220615.GA11751@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=ramsay@ramsay1.demon.co.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).