Colm MacCárthaigh wrote: > There is a 1.3.42 release candidate for testing, and voting, at; > > http://people.apache.org/~colm/1.3.42/ >
I just tried building on a fairly stock Ubuntu Karmic system and ran into this compile error: gcc -c -I../os/unix -I../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -DNO_DL_NEEDED `../apaci` htpasswd.c htpasswd.c:101: error: conflicting types for ‘getline’ /usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here So getline() is a system provided function here. I used the top level configure with /bin/sh changed to /bin/bash as mentioned elsewhere, no options. On fixing this I found that htdigest.c and logrotate.c have the same problem. The obvious fix would be to namespace protect these getline implementations, IE: Index: src/support/htdigest.c =================================================================== --- src/support/htdigest.c (revision 897307) +++ src/support/htdigest.c (working copy) @@ -71,7 +71,7 @@ while ((line[y++] = line[x++])); } -static int getline(char *s, int n, FILE *f) +static int ap_getline(char *s, int n, FILE *f) { register int i = 0; @@ -158,7 +158,7 @@ { static char line[MAX_STRING_LEN]; - while (!(getline(line, MAX_STRING_LEN, source))) { + while (!(ap_getline(line, MAX_STRING_LEN, source))) { putline(target, line); } } @@ -216,7 +216,7 @@ ap_cpystrn(realm, argv[2], sizeof(realm)); found = 0; - while (!(getline(line, MAX_STRING_LEN, f))) { + while (!(ap_getline(line, MAX_STRING_LEN, f))) { if (found || (line[0] == '#') || (!line[0])) { putline(tfp, line); continue; Index: src/support/logresolve.c =================================================================== --- src/support/logresolve.c (revision 897307) +++ src/support/logresolve.c (working copy) @@ -71,7 +71,7 @@ #endif /* !MPE && !WIN32*/ static void cgethost(struct in_addr ipnum, char *string, int check); -static int getline(char *s, int n); +static int ap_getline(char *s, int n); static void stats(FILE *output); @@ -278,7 +278,7 @@ * gets a line from stdin */ -static int getline (char *s, int n) +static int ap_getline (char *s, int n) { char *cp; @@ -326,7 +326,7 @@ for (i = 0; i < MAX_ERR + 2; i++) errors[i] = 0; - while (getline(line, MAXLINE)) { + while (ap_getline(line, MAXLINE)) { if (line[0] == '\0') continue; entries++; Index: src/support/htpasswd.c =================================================================== --- src/support/htpasswd.c (revision 897307) +++ src/support/htpasswd.c (working copy) @@ -98,7 +98,7 @@ * Get a line of input from the user, not including any terminating * newline. */ -static int getline(char *s, int n, FILE *f) +static int ap_getline(char *s, int n, FILE *f) { register int i = 0; @@ -547,7 +547,7 @@ char scratch[MAX_STRING_LEN]; fpw = fopen(pwfilename, "r"); - while (! (getline(line, sizeof(line), fpw))) { + while (! (ap_getline(line, sizeof(line), fpw))) { char *colon; if ((line[0] == '#') || (line[0] == '\0')) {