Mercurial > hg > nginx
diff src/core/ngx_times.c @ 178:a8ff48d26cca
nginx-0.0.1-2003-11-11-00:09:22 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 10 Nov 2003 21:09:22 +0000 |
parents | |
children | 2d143372a1ee |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/core/ngx_times.c @@ -0,0 +1,51 @@ + +#include <ngx_config.h> +#include <ngx_core.h> + + +time_t ngx_cached_time; + +static char cached_http_time[] = "Mon, 28 Sep 1970 06:00:00 GMT"; +ngx_str_t ngx_cached_http_time; + +static char cached_http_log_time[] = "28/Sep/1970:12:00:00"; +ngx_str_t ngx_cached_http_log_time; + + +time_t ngx_time() +{ + return ngx_cached_time; +} + + +/* TODO: remove strftime() */ + +void ngx_time_update() +{ + ngx_tm_t *tp, tm; + static char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; + + /* STUB: need to move to ngx_init_time() */ + ngx_cached_http_time.data = cached_http_time; + ngx_cached_http_log_time.data = cached_http_log_time; + + tp = gmtime(&ngx_cached_time); + + ngx_cached_http_time.len = strftime(ngx_cached_http_time.data, + sizeof("Mon, 28 Sep 1970 06:00:00 GMT"), + "%a, %d %b %Y %H:%M:%S GMT", tp); + + + ngx_localtime(&tm); + + ngx_cached_http_log_time.len = ngx_snprintf(ngx_cached_http_log_time.data, + sizeof("28/Sep/1970:12:00:00"), + "%02d/%s/%d:%02d:%02d:%02d", + tm.ngx_tm_mday, + months[tm.ngx_tm_mon - 1], + tm.ngx_tm_year, + tm.ngx_tm_hour, + tm.ngx_tm_min, + tm.ngx_tm_sec); +}