[PATCH 00/41] use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
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.
EXIT_SUCCESS or EXIT_FAILURE are already used in some functions in git but not everywhere. Also in branch.c there is a returns exit(-1), ie 255, when exit(1) might be more appropriate.
T$his patch series adds a coccinelle semantic patch exit.cocci in contrib/coccinelle to rewrite: - exit(0) in exit(EXIT_SUCCESS) - exit(1) in exit(EXIT_FAILURE) - exit(-1) in exit(EXIT_FAILURE)
The patch treats the status code in _exit equivalently.
Elia Pinto (41):
archive.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
branch.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
am.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
blame.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
commit.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
credential-cache--daemon.c: use the stdlib EXIT_SUCCESS or
EXIT_FAILURE exit status
help.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
init-db.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
mailsplit.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
merge-index.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
merge.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
pull.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
rebase.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
remote-ext.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
rev-parse.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
rm.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
shortlog.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
show-branch.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
stash.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
tag.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
unpack-objects.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit
status
update-index.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit
status
obstack.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
git-credential-osxkeychain.c: use the stdlib EXIT_SUCCESS or
EXIT_FAILURE exit status
git-credential-wincred.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE
exit status
daemon.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
git.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
help.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
http-backend.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit
status
parse-options.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit
status
path.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
remote-curl.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
run-command.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
setup.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
shell.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
test-json-writer.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit
status
test-reach.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
test-submodule-config.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE
exit status
test-submodule-nested-repo-config.c: use the stdlib EXIT_SUCCESS or
EXIT_FAILURE exit status
upload-pack.c: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit status
exit.cocci: use the stdlib EXIT_SUCCESS or EXIT_FAILURE exit statusarchive.c | 2 +- branch.c | 4 ++-- builtin/am.c | 4 ++-- builtin/blame.c | 2 +- builtin/commit.c | 10 ++++---- builtin/credential-cache--daemon.c | 2 +- builtin/help.c | 2 +- builtin/init-db.c | 2 +- builtin/mailsplit.c | 2 +- builtin/merge-index.c | 2 +- builtin/merge.c | 4 ++-- builtin/pull.c | 2 +- builtin/rebase.c | 12 +++++----- builtin/remote-ext.c | 2 +- builtin/rev-parse.c | 2 +- builtin/rm.c | 2 +- builtin/shortlog.c | 2 +- builtin/show-branch.c | 4 ++-- builtin/stash.c | 2 +- builtin/tag.c | 2 +- builtin/unpack-objects.c | 6 ++--- builtin/update-index.c | 4 ++-- compat/obstack.c | 2 +- contrib/coccinelle/exit.cocci | 24 +++++++++++++++++++ .../osxkeychain/git-credential-osxkeychain.c | 4 ++-- .../wincred/git-credential-wincred.c | 2 +- daemon.c | 2 +- git.c | 14 +++++------ help.c | 8 +++---- http-backend.c | 12 +++++----- parse-options.c | 2 +- path.c | 2 +- remote-curl.c | 2 +- run-command.c | 2 +- setup.c | 2 +- shell.c | 2 +- t/helper/test-json-writer.c | 2 +- t/helper/test-reach.c | 2 +- t/helper/test-submodule-config.c | 2 +- t/helper/test-submodule-nested-repo-config.c | 2 +- upload-pack.c | 2 +- 41 files changed, 95 insertions(+), 71 deletions(-) create mode 100644 contrib/coccinelle/exit.cocci
-- 2.35.1