Code

AIX compile fix for repo-config.c
authorAmos Waterland <apw@us.ibm.com>
Thu, 5 Jan 2006 00:31:02 +0000 (19:31 -0500)
committerJunio C Hamano <junkio@cox.net>
Fri, 6 Jan 2006 01:22:37 +0000 (17:22 -0800)
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>
repo-config.c

index b2569b7901b8250fd964707569264b9ecb2acf30..c31e441a3ddf486d30121bd1feea3945748a40f1 100644 (file)
@@ -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)