From: Amos Waterland Date: Thu, 5 Jan 2006 00:31:02 +0000 (-0500) Subject: AIX compile fix for repo-config.c X-Git-Tag: v1.0.7^2~21 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=0a15217184f20649c0ab19b24363e35112a91beb;p=git.git AIX compile fix for repo-config.c AIX 5 has a /usr/include/regex.h containing this code: #ifdef _NO_PROTO extern char *regex(); extern char *regcmp(); #else /* _NO_PROTO */ extern char *regex(const char *, const char *, ...); extern char *regcmp(const char *, ...); #endif /* _NO_PROTO */ This means that repo-config.c is trying to redefine the `regex' symbol. Here is a simple patch that just uses `regexp' as the symbol name instead. Signed-off-by: Amos Waterland Signed-off-by: Junio C Hamano --- diff --git a/repo-config.c b/repo-config.c index b2569b79..c31e441a 100644 --- a/repo-config.c +++ b/repo-config.c @@ -6,7 +6,7 @@ static const char git_config_set_usage[] = static char* key = NULL; static char* value = NULL; -static regex_t* regex = NULL; +static regex_t* regexp = NULL; static int do_all = 0; static int do_not_match = 0; static int seen = 0; @@ -14,9 +14,9 @@ static int seen = 0; static int show_config(const char* key_, const char* value_) { if (!strcmp(key_, key) && - (regex == NULL || + (regexp == NULL || (do_not_match ^ - !regexec(regex, value_, 0, NULL, 0)))) { + !regexec(regexp, value_, 0, NULL, 0)))) { if (do_all) { printf("%s\n", value_); return 0; @@ -46,8 +46,8 @@ static int get_value(const char* key_, const char* regex_) regex_++; } - regex = (regex_t*)malloc(sizeof(regex_t)); - if (regcomp(regex, regex_, REG_EXTENDED)) { + regexp = (regex_t*)malloc(sizeof(regex_t)); + if (regcomp(regexp, regex_, REG_EXTENDED)) { fprintf(stderr, "Invalid pattern: %s\n", regex_); return -1; } @@ -59,9 +59,9 @@ static int get_value(const char* key_, const char* regex_) free(value); } free(key); - if (regex) { - regfree(regex); - free(regex); + if (regexp) { + regfree(regexp); + free(regexp); } if (do_all)