Browse Source
This converts git_config_alias to the public alias_lookup function. Because of the nature of our config parser, we still have to rely on setting static data. However, that interface is wrapped so that you can just say value = alias_lookup(key); Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
Jeff King
17 years ago
committed by
Junio C Hamano
4 changed files with 29 additions and 15 deletions
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
#include "cache.h" |
||||
|
||||
static const char *alias_key; |
||||
static char *alias_val; |
||||
static int alias_lookup_cb(const char *k, const char *v) |
||||
{ |
||||
if (!prefixcmp(k, "alias.") && !strcmp(k+6, 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); |
||||
return alias_val; |
||||
} |
Loading…
Reference in new issue