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