The C standard specifies two constants, EXIT_SUCCESS and EXIT_FAILURE, that may be passed to exit() to indicate successful or unsuccessful termination, respectively. The value of status in exit(status) may be EXIT_SUCCESS, EXIT_FAILURE, or any other value, though only the least significant 8 bits (that is, status & 0377) shall be available to a waiting parent proces. So exit(-1) return 255. Use the C standard EXIT_SUCCESS and EXIT_FAILURE to indicate the program exit status instead of "0" or "1", respectively. In <stdlib.h> EXIT_FAILURE has the value "1": use EXIT_FAILURE even if the program uses exit(-1), ie 255, for consistency. Signed-off-by: Elia Pinto <gitter.spiros@xxxxxxxxx> --- builtin/merge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/merge.c b/builtin/merge.c index f178f5a3ee..3bb6f902f0 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -209,7 +209,7 @@ static struct strategy *get_strategy(const char *name) fprintf(stderr, " %s", other_cmds.names[i]->name); fprintf(stderr, ".\n"); } - exit(1); + exit(EXIT_FAILURE); } CALLOC_ARRAY(ret, 1); @@ -824,7 +824,7 @@ static void abort_commit(struct commit_list *remoteheads, const char *err_msg) fprintf(stderr, _("Not committing merge; use 'git commit' to complete the merge.\n")); write_merge_state(remoteheads); - exit(1); + exit(EXIT_FAILURE); } static const char merge_editor_comment[] = -- 2.35.1