www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rodent of Unusual Size <Ken.C...@Golux.Com>
Subject Re: mod_log-any/1645: Tabs in CustomLog format converted to space s in log file
Date Fri, 09 Jan 1998 22:32:29 GMT
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

Mime
View raw message