comparison src/core/ngx_slab.c @ 1645:31622d9f2c0d

the simple expression has the same precision without overflow
author Igor Sysoev <igor@sysoev.ru>
date Fri, 16 Nov 2007 18:15:04 +0000
parents 06306a20b8bb
children b794d78e52c5
comparison
equal deleted inserted replaced
1644:b83c232da4e1 1645:31622d9f2c0d
109 slots[i].prev = 0; 109 slots[i].prev = 0;
110 } 110 }
111 111
112 p += n * sizeof(ngx_slab_page_t); 112 p += n * sizeof(ngx_slab_page_t);
113 113
114 /* STUB: possible overflow on 64-bit platform */ 114 pages = (ngx_uint_t) (size / (ngx_pagesize + sizeof(ngx_slab_page_t)));
115 pages = (ngx_uint_t) ((uint64_t) size * ngx_pagesize
116 / (ngx_pagesize + sizeof(ngx_slab_page_t))
117 / ngx_pagesize);
118 115
119 ngx_memzero(p, pages * sizeof(ngx_slab_page_t)); 116 ngx_memzero(p, pages * sizeof(ngx_slab_page_t));
120 117
121 pool->pages = (ngx_slab_page_t *) p; 118 pool->pages = (ngx_slab_page_t *) p;
122 119