[PATCH v2 10/11] alias.c: replace `git_config()` with `git_config_get_string()`
- From
Tanay Abhra <tanayabh@gmail.com>
- Date
- Aug 7, 2014, 16:21 UTC
- Message-ID
- <1407428486-19049-11-git-send-email-tanayabh@gmail.com>
- In-Reply-To
- <1407428486-19049-1-git-send-email-tanayabh@gmail.com>
Use `git_config_get_string()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow.
Signed-off-by: Tanay Abhra <tanayabh@gmail.com> --- alias.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-)
diff --git a/alias.c b/alias.c index 758c867..6aa164a 100644 --- a/alias.c +++ b/alias.c @@ -1,26 +1,13 @@ #include "cache.h" -static const char *alias_key; -static char *alias_val; - -static int alias_lookup_cb(const char *k, const char *v, void *cb) -{ - const char *name; - if (skip_prefix(k, "alias.", &name) && !strcmp(name, alias_key)) { - if (!v) - return config_error_nonbool(k); - alias_val = xstrdup(v); - return 0; - } - return 0; -} - char *alias_lookup(const char *alias) { - alias_key = alias; - alias_val = NULL; - git_config(alias_lookup_cb, NULL); - return alias_val; + char *v = NULL; + struct strbuf key = STRBUF_INIT; + strbuf_addf(&key, "alias.%s", alias); + git_config_get_string(key.buf, &v); + strbuf_release(&key); + return v; } #define SPLIT_CMDLINE_BAD_ENDING 1
-- 1.9.0.GIT