The following reply was made to PR mod_log-any/1645; it has been noted by GNATS.
From: Rodent of Unusual Size <[EMAIL PROTECTED]>
To: Renaud Waldura <[EMAIL PROTECTED]>
Cc: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>, [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Re: mod_log-any/1645: Tabs in CustomLog format converted to space s in
log file
Date: Fri, 09 Jan 1998 17:32:29 -0500
This is not an area that should be patched. Whitespace in the
config file is whitespace, and gets collapsed to single spaces.
What's broken is that "\t" (among others) doesn't work in
CustomLog and LogFormat directives.
Renaud Waldura wrote:
>
> Pinned it down!
>
> util.c, line 551:
>
> int
> cfg_getline(char *s, int n, FILE *f) {
> register int i=0, c;
>
> s[0] = '\0';
> /* skip leading whitespace */
> do {
> c = getc(f);
> } while (c == '\t' || c == ' ');
>
> if(c == EOF)
> return 1;
>
> while(1) {
> if((c == '\t') || (c == ' ')) {
> s[i++] = ' '; <== (*)
> while((c == '\t') || (c == ' '))
> c = getc(f);
> }
> if(c == CR) {
> c = getc(f);
> }
> if(c == EOF || c == 0x4 || c == LF || i == (n-1)) {
> /* blast trailing whitespace */
> while(i && (s[i-1] == ' ')) --i;
> s[i] = '\0';
> return 0;
> }
> s[i] = c;
> ++i;
> c = getc(f);
> }
> }
>
> This code doesn't know about the quoted string used by mod_log_config:
> (*) above replaces tabs & multiple spaces with one space.
>
> I'm thinking about a patch...
>
> --Renaud