alias.c: replace `git_config()` with `git_config_get_string()`

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> Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tanay Abhra committed Aug 7, 2014 at 09:21 UTC 111791559e69011a6d55f053393d154a1840b4f5
1 file changed +6 -19
alias.c
+6 -19
@@ -1,26 +1,13 @@
1 #include "cache.h"
2
3 -static const char *alias_key;
4 -static char *alias_val;
5 -
6 -static int alias_lookup_cb(const char *k, const char *v, void *cb)
7 -{
8 - const char *name;
9 - if (skip_prefix(k, "alias.", &name) && !strcmp(name, alias_key)) {
10 - if (!v)
11 - return config_error_nonbool(k);
12 - alias_val = xstrdup(v);
13 - return 0;
14 - }
15 - return 0;
16 -}
17 -
3 char *alias_lookup(const char *alias)
4 {
20 - alias_key = alias;
21 - alias_val = NULL;
22 - git_config(alias_lookup_cb, NULL);
23 - return alias_val;
5 + char *v = NULL;
6 + struct strbuf key = STRBUF_INIT;
7 + strbuf_addf(&key, "alias.%s", alias);
8 + git_config_get_string(key.buf, &v);
9 + strbuf_release(&key);
10 + return v;
11 }
12
13 #define SPLIT_CMDLINE_BAD_ENDING 1