diff options
| -rw-r--r-- | insert_string_tpl.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/insert_string_tpl.h b/insert_string_tpl.h index 9de7d5d66d..eee01070e9 100644 --- a/insert_string_tpl.h +++ b/insert_string_tpl.h @@ -29,15 +29,16 @@ */ ZLIB_INTERNAL Pos QUICK_INSERT_STRING(deflate_state *const s, const Pos str) { Pos head; + uint8_t *strstart = s->window + str; uint32_t val, hm, h = 0; #ifdef UNALIGNED_OK - val = *(uint32_t *)(s->window + str); + val = *(uint32_t *)(strstart); #else - val = ((uint32_t)s->window[str]); - val |= ((uint32_t)s->window[str+1] << 8); - val |= ((uint32_t)s->window[str+2] << 16); - val |= ((uint32_t)s->window[str+3] << 24); + val = ((uint32_t)(strstart[0])); + val |= ((uint32_t)(strstart[1]) << 8); + val |= ((uint32_t)(strstart[2]) << 16); + val |= ((uint32_t)(strstart[3]) << 24); #endif UPDATE_HASH(s, h, val); |
