[EMAIL PROTECTED] wrote:
> 
> brianp      02/01/06 00:01:34
> 
>   Modified:    modules/loggers mod_log_config.c
>   Log:
>   Bypass a strdup and an 8KB local variable in the common case where
>   the logger is using the default time format

Does that really stop the stack space from being allocated? It seems
unlikely to me (I haven't checked).

Cheers,

Ben.

> 
>   Revision  Changes    Path
>   1.73      +4 -5      httpd-2.0/modules/loggers/mod_log_config.c
> 
>   Index: mod_log_config.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/modules/loggers/mod_log_config.c,v
>   retrieving revision 1.72
>   retrieving revision 1.73
>   diff -u -r1.72 -r1.73
>   --- mod_log_config.c  16 Dec 2001 09:54:14 -0000      1.72
>   +++ mod_log_config.c  6 Jan 2002 08:01:34 -0000       1.73
>   @@ -450,7 +450,6 @@
>    {
>        apr_exploded_time_t xt;
>        apr_size_t retcode;
>   -    char tstr[MAX_STRING_LEN];
> 
>        /*
>         hi.  i think getting the time again at the end of the request
>   @@ -469,7 +468,9 @@
>        ap_explode_recent_localtime(&xt, r->request_time);
>    #endif
>        if (a && *a) {              /* Custom format */
>   -        apr_strftime(tstr, &retcode, MAX_STRING_LEN, a, &xt);
>   +        char tstr[MAX_STRING_LEN];
>   +        apr_strftime(tstr, &retcode, sizeof(tstr), a, &xt);
>   +        return apr_pstrdup(r->pool, tstr);
>        }
>        else {                      /* CLF format */
>         char sign;
>   @@ -484,13 +485,11 @@
>             sign = '+';
>         }
> 
>   -        apr_snprintf(tstr, sizeof(tstr), "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]",
>   +        return apr_psprintf(r->pool, "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]",
>                    xt.tm_mday, apr_month_snames[xt.tm_mon], xt.tm_year+1900,
>                    xt.tm_hour, xt.tm_min, xt.tm_sec,
>                    sign, timz / (60*60), timz % (60*60));
>        }
>   -
>   -    return apr_pstrdup(r->pool, tstr);
>    }
> 
>    static const char *log_request_duration(request_rec *r, char *a)
> 
> 
> 

--
http://www.apache-ssl.org/ben.html

Reply via email to