Am 23.12.2015 um 10:37 schrieb Jeff King:
The second line comes from handle_alias itself. It calls
die_errno whenever run_command returns a negative value.
However, only -1 indicates a syscall error where errno has
something useful (note that it says the useless "success"
above). Instead, we treat negative returns from run_command
(except for -1) as a normal code to be passed to exit.

Signed-off-by: Jeff King <p...@peff.net>
---
  git.c         | 2 +-
  run-command.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git.c b/git.c
index 6ed824c..34a18a3 100644
--- a/git.c
+++ b/git.c
@@ -252,7 +252,7 @@ static int handle_alias(int *argcp, const char ***argv)
                        alias_argv[argc] = NULL;

                        ret = run_command_v_opt(alias_argv, RUN_USING_SHELL);
-                       if (ret >= 0)   /* normal exit */
+                       if (ret != -1)  /* normal exit */

Why does this make a difference? We only ever return -1, zero, or a positive value from run_command/finish_command/wait_or_whine, as far as I can see.

                                exit(ret);

                        die_errno("While expanding alias '%s': '%s'",

-- Hannes

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to