Mercurial > hg > nginx-vendor-0-6
diff src/core/ngx_times.c @ 364:a39aab45a53f NGINX_0_6_26
nginx 0.6.26
*) Bugfix: the "proxy_store" and "fastcgi_store" directives did not
check a response length.
*) Bugfix: a segmentation fault occurred in worker process, if big
value was used in a "expires" directive.
Thanks to Joaquin Cuenca Abela.
*) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
Thanks to Gena Makhomed.
*) Bugfix: in proxied or FastCGI subrequests a client original method
was used instead of the GET method.
*) Bugfix: socket leak in HTTPS mode if deferred accept was used.
Thanks to Ben Maurer.
*) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
(SSL: )"; bug appeared in 0.6.23.
*) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
error; bug appeared in 0.6.23.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 11 Feb 2008 00:00:00 +0300 |
parents | 05693816539c |
children | 6639b93e81b2 |
line wrap: on
line diff
--- a/src/core/ngx_times.c +++ b/src/core/ngx_times.c @@ -203,18 +203,21 @@ ngx_http_cookie_time(u_char *buf, time_t void ngx_gmtime(time_t t, ngx_tm_t *tp) { - ngx_int_t sec, min, hour, mday, mon, year, wday, yday, days; + ngx_uint_t n, sec, min, hour, mday, mon, year, wday, yday, days; - days = (ngx_int_t) (t / 86400); + /* the calculation is valid for positive time_t only */ + n = (ngx_uint_t) t; + + days = n / 86400; /* Jaunary 1, 1970 was Thursday */ wday = (4 + days) % 7; - t %= 86400; - hour = (ngx_int_t) (t / 3600); - t %= 3600; - min = (ngx_int_t) (t / 60); - sec = (ngx_int_t) (t % 60); + n %= 86400; + hour = n / 3600; + n %= 3600; + min = n / 60; + sec = n % 60; /* the algorithm based on Gauss's formula */