diff options
author | Tanay Abhra <tanayabh@gmail.com> | 2014-08-07 04:59:15 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-08-07 11:40:17 -0700 |
commit | aace4385027b0366f43961a94c8ed95ac9b3bd53 (patch) | |
tree | 27818eb52ea4ce425891128a1b5d98637cde051b /config.c | |
parent | 3df8fd625fba33a6525f61c85de39afb746db9bd (diff) | |
download | git-aace4385027b0366f43961a94c8ed95ac9b3bd53.tar.gz git-aace4385027b0366f43961a94c8ed95ac9b3bd53.tar.xz |
change `git_config()` return value to void
Currently `git_config()` returns an integer signifying an error code.
During rewrites of the function most of the code was shifted to
`git_config_with_options()`. `git_config_with_options()` normally
returns positive values if its `config_source` parameter is set as NULL,
as most errors are fatal, and non-fatal potential errors are guarded
by "if" statements that are entered only when no error is possible.
Still a negative value can be returned in case of race condition between
`access_or_die()` & `git_config_from_file()`. Also, all callers of
`git_config()` ignore the return value except for one case in branch.c.
Change `git_config()` return value to void and make it die if it receives
a negative value from `git_config_with_options()`.
Original-patch-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -1232,9 +1232,21 @@ int git_config_with_options(config_fn_t fn, void *data, return ret; } -int git_config(config_fn_t fn, void *data) +void git_config(config_fn_t fn, void *data) { - return git_config_with_options(fn, data, NULL, 1); + if (git_config_with_options(fn, data, NULL, 1) < 0) + /* + * git_config_with_options() normally returns only + * positive values, as most errors are fatal, and + * non-fatal potential errors are guarded by "if" + * statements that are entered only when no error is + * possible. + * + * If we ever encounter a non-fatal error, it means + * something went really wrong and we should stop + * immediately. + */ + die(_("unknown error occured while reading the configuration files")); } static struct config_set_element *configset_find_element(struct config_set *cs, const char *key) |