diff options
author | Tanay Abhra <tanayabh@gmail.com> | 2014-08-07 04:59:16 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-08-07 11:40:25 -0700 |
commit | 5a80e97c827e9d73884dbe4119bf97f6dd84b237 (patch) | |
tree | 46564b16273d2524672680afd0a1dc61e561595e /cache.h | |
parent | aace4385027b0366f43961a94c8ed95ac9b3bd53 (diff) | |
download | git-5a80e97c827e9d73884dbe4119bf97f6dd84b237.tar.gz |
config: add `git_die_config()` to the config-set API
Add `git_die_config` that dies printing the line number and the file name
of the highest priority value for the configuration variable `key`. A custom
error message is also printed before dying, specified by the caller, which can
be skipped if `err` argument is set to NULL.
It has usage in non-callback based config value retrieval where we can
raise an error and die if there is a semantic error.
For example,
if (!git_config_get_value(key, &value)){
if (!strcmp(value, "foo"))
git_config_die(key, "value: `%s` is illegal", value);
else
/* do work */
}
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 'cache.h')
-rw-r--r-- | cache.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1388,6 +1388,9 @@ struct key_value_info { int linenr; }; +extern NORETURN void git_die_config(const char *key, const char *err, ...) __attribute__((format(printf, 2, 3))); +extern NORETURN void git_die_config_linenr(const char *key, const char *filename, int linenr); + extern int committer_ident_sufficiently_given(void); extern int author_ident_sufficiently_given(void); |