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/update-index.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index aafe7eeac2..9e4c15e846 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -699,7 +699,7 @@ static void read_head_pointers(void) die("No HEAD -- no initial commit yet?"); if (read_ref("MERGE_HEAD", &merge_head_oid)) { fprintf(stderr, "Not in the middle of a merge.\n"); - exit(0); + exit(EXIT_SUCCESS); } } @@ -1127,7 +1127,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix) case PARSE_OPT_ERROR: exit(129); case PARSE_OPT_COMPLETE: - exit(0); + exit(EXIT_SUCCESS); case PARSE_OPT_NON_OPTION: case PARSE_OPT_DONE: { -- 2.35.1