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 <apw@us.ibm.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Amos Waterland 2006-01-04 19:31:02 -05:00 committed by Junio C Hamano
parent 8b32572c74
commit 0a15217184

View File

@ -6,7 +6,7 @@ static const char git_config_set_usage[] =
static char* key = NULL; static char* key = NULL;
static char* value = NULL; static char* value = NULL;
static regex_t* regex = NULL; static regex_t* regexp = NULL;
static int do_all = 0; static int do_all = 0;
static int do_not_match = 0; static int do_not_match = 0;
static int seen = 0; static int seen = 0;
@ -14,9 +14,9 @@ static int seen = 0;
static int show_config(const char* key_, const char* value_) static int show_config(const char* key_, const char* value_)
{ {
if (!strcmp(key_, key) && if (!strcmp(key_, key) &&
(regex == NULL || (regexp == NULL ||
(do_not_match ^ (do_not_match ^
!regexec(regex, value_, 0, NULL, 0)))) { !regexec(regexp, value_, 0, NULL, 0)))) {
if (do_all) { if (do_all) {
printf("%s\n", value_); printf("%s\n", value_);
return 0; return 0;
@ -46,8 +46,8 @@ static int get_value(const char* key_, const char* regex_)
regex_++; regex_++;
} }
regex = (regex_t*)malloc(sizeof(regex_t)); regexp = (regex_t*)malloc(sizeof(regex_t));
if (regcomp(regex, regex_, REG_EXTENDED)) { if (regcomp(regexp, regex_, REG_EXTENDED)) {
fprintf(stderr, "Invalid pattern: %s\n", regex_); fprintf(stderr, "Invalid pattern: %s\n", regex_);
return -1; return -1;
} }
@ -59,9 +59,9 @@ static int get_value(const char* key_, const char* regex_)
free(value); free(value);
} }
free(key); free(key);
if (regex) { if (regexp) {
regfree(regex); regfree(regexp);
free(regex); free(regexp);
} }
if (do_all) if (do_all)