comparison src/http/modules/ngx_http_gzip_filter.c @ 4:4b2dafa26fe2 NGINX_0_1_2

nginx 0.1.2 *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. *) Feature: the server_name directive supports *.domain.tld. *) Bugfix: the portability improvements. *) Bugfix: if configuration file was set in command line, the reconfiguration was impossible; bug appeared in 0.1.1. *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. *) Bugfix: with sendfile the response was not recoded according to the charset module directives; bug appeared in 0.1.1. *) Bugfix: very seldom bug in the kqueue processing. *) Bugfix: the gzip module compressed the proxied responses that was already compressed.
author Igor Sysoev <http://sysoev.ru>
date Thu, 21 Oct 2004 00:00:00 +0400
parents cc9f381affaa
children 46833bd150cb
comparison
equal deleted inserted replaced
3:8beaf7b3241f 4:4b2dafa26fe2
835 if (ctx == NULL || ctx->zout == 0) { 835 if (ctx == NULL || ctx->zout == 0) {
836 *buf = '-'; 836 *buf = '-';
837 return buf + 1; 837 return buf + 1;
838 } 838 }
839 839
840 #if 0
841 return buf + ngx_snprintf((char *) buf, NGX_INT32_LEN + 4, "%.2f",
842 (float) ctx->zin / ctx->zout);
843 #endif
844
845 /* we prefer do not use the FPU */ 840 /* we prefer do not use the FPU */
846 841
847 zint = (ngx_uint_t) (ctx->zin / ctx->zout); 842 zint = (ngx_uint_t) (ctx->zin / ctx->zout);
848 zfrac = (ngx_uint_t) ((ctx->zin * 100 / ctx->zout) % 100); 843 zfrac = (ngx_uint_t) ((ctx->zin * 100 / ctx->zout) % 100);
849 844
850 if ((ctx->zin * 1000 / ctx->zout) %10 > 4) { 845 if ((ctx->zin * 1000 / ctx->zout) % 10 > 4) {
851 if (++zfrac > 99) { 846
847 /* the rounding, e.g., 2.125 to 2.13 */
848
849 zfrac++;
850
851 if (zfrac > 99) {
852 zint++; 852 zint++;
853 zfrac = 0; 853 zfrac = 0;
854 } 854 }
855 } 855 }
856 856
857 return ngx_sprintf(buf, "%ui.%02ui", zint, zfrac);
858
859 #if 0
857 return buf + ngx_snprintf((char *) buf, NGX_INT32_LEN + 4, 860 return buf + ngx_snprintf((char *) buf, NGX_INT32_LEN + 4,
858 "%" NGX_UINT_T_FMT ".%02" NGX_UINT_T_FMT, 861 "%" NGX_UINT_T_FMT ".%02" NGX_UINT_T_FMT,
859 zint, zfrac); 862 zint, zfrac);
863 #endif
860 } 864 }
861 865
862 866
863 ngx_inline static int ngx_http_gzip_error(ngx_http_gzip_ctx_t *ctx) 867 ngx_inline static int ngx_http_gzip_error(ngx_http_gzip_ctx_t *ctx)
864 { 868 {