On 3/14/23 4:56 PM, Yann Ylavic wrote:
> On Tue, Mar 14, 2023 at 1:30 PM Ruediger Pluem <rpl...@apache.org> wrote:
>>
>> On 3/14/23 12:11 PM, yla...@apache.org wrote:
>>> Author: ylavic
>>> Date: Tue Mar 14 11:11:24 2023
>>> New Revision: 1908380
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1908380&view=rev
>>> Log:
>>> core: Add formats %{z} and %{strftime-format} to ErrorLogFormat.  PR 62161.
>>>
>>> %{z} prints the timezone offset (i.e. "[+-]nnnn") and %{strftime-format} 
>>> allows
>>> any %-format handled by [apr_]strftime().
>>>
>>> * include/util_time.h():
>>>   Define new AP_CTIME_OPTION_GMTOFF option for ap_recent_ctime_ex().
>>>
>>> * server/util_time.c(ap_recent_ctime_ex):
>>>   Handle AP_CTIME_OPTION_GMTOFF to print "[+-]nnnn" timezone.
>>>
>>> * server/log.c(log_ctime):
>>>   If the format contains a '%' it's for strftime(), otherwise it's builtin
>>>   with new 'z' as AP_CTIME_OPTION_GMTOFF.
> []
>>>
>>> +++ httpd/httpd/trunk/server/util_time.c Tue Mar 14 11:11:24 2023
> []
>>> @@ -251,7 +259,19 @@ AP_DECLARE(apr_status_t) ap_recent_ctime
>>>          *date_str++ = real_year % 100 / 10 + '0';
>>>          *date_str++ = real_year % 10 + '0';
>>>      }
>>> -    *date_str++ = 0;
>>> +    if (option & AP_CTIME_OPTION_GMTOFF) {
>>> +        int off = xt.tm_gmtoff;
>>> +        char sign = '+';
>>> +        if (off < 0) {
>>> +            off = -off;
>>> +            sign = '-';
>>> +        }
>>> +        apr_snprintf(date_str, AP_CTIME_GMTOFF_LEN + 1, " %c%.2d%.2d",
>>> +                     sign, off / 3600, (off % 3600) / 60);
>>
>> The code above does not use apr_snprintf but converts the numbers to strings 
>> explicitly (I guess for performance reasons).
>> Should we use the same approach here?
> 
> Thanks, done in r1908389.

I guess the

#include "apr_strings.h"

added in r1908380 is no longer needed as well?

Regards

Rüdiger

Reply via email to