From: Nathan Moinvaziri Date: Sat, 4 Jul 2020 03:37:11 +0000 (-0700) Subject: Fixed many possible loss of data warnings where insert_string and quick_insert_string... X-Git-Tag: 1.9.9-b1~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ee4f8a100057519b021a3a756741fa3d4664f7e;p=thirdparty%2Fzlib-ng.git Fixed many possible loss of data warnings where insert_string and quick_insert_string function used on Windows. --- diff --git a/functable.c b/functable.c index a261a9cf..cc1f070f 100644 --- a/functable.c +++ b/functable.c @@ -15,19 +15,19 @@ #endif /* insert_string */ -extern Pos insert_string_c(deflate_state *const s, const Pos str, unsigned int count); +extern Pos insert_string_c(deflate_state *const s, const uint32_t str, uint32_t count); #ifdef X86_SSE42_CRC_HASH -extern Pos insert_string_sse4(deflate_state *const s, const Pos str, unsigned int count); +extern Pos insert_string_sse4(deflate_state *const s, const uint32_t str, uint32_t count); #elif defined(ARM_ACLE_CRC_HASH) -extern Pos insert_string_acle(deflate_state *const s, const Pos str, unsigned int count); +extern Pos insert_string_acle(deflate_state *const s, const uint32_t str, uint32_t count); #endif /* quick_insert_string */ -extern Pos quick_insert_string_c(deflate_state *const s, const Pos str); +extern Pos quick_insert_string_c(deflate_state *const s, const uint32_t str); #ifdef X86_SSE42_CRC_HASH -extern Pos quick_insert_string_sse4(deflate_state *const s, const Pos str); +extern Pos quick_insert_string_sse4(deflate_state *const s, const uint32_t str); #elif defined(ARM_ACLE_CRC_HASH) -extern Pos quick_insert_string_acle(deflate_state *const s, const Pos str); +extern Pos quick_insert_string_acle(deflate_state *const s, const uint32_t str); #endif /* slide_hash */ @@ -144,7 +144,7 @@ ZLIB_INTERNAL void cpu_check_features(void) } /* stub functions */ -ZLIB_INTERNAL Pos insert_string_stub(deflate_state *const s, const Pos str, unsigned int count) { +ZLIB_INTERNAL Pos insert_string_stub(deflate_state *const s, const uint32_t str, uint32_t count) { // Initialize default functable.insert_string = &insert_string_c; @@ -161,7 +161,7 @@ ZLIB_INTERNAL Pos insert_string_stub(deflate_state *const s, const Pos str, unsi return functable.insert_string(s, str, count); } -ZLIB_INTERNAL Pos quick_insert_string_stub(deflate_state *const s, const Pos str) { +ZLIB_INTERNAL Pos quick_insert_string_stub(deflate_state *const s, const uint32_t str) { functable.quick_insert_string = &quick_insert_string_c; #ifdef X86_SSE42_CRC_HASH diff --git a/functable.h b/functable.h index 45712424..dab313da 100644 --- a/functable.h +++ b/functable.h @@ -9,8 +9,8 @@ #include "deflate.h" struct functable_s { - Pos (* insert_string) (deflate_state *const s, const Pos str, unsigned int count); - Pos (* quick_insert_string)(deflate_state *const s, const Pos str); + Pos (* insert_string) (deflate_state *const s, const uint32_t str, uint32_t count); + Pos (* quick_insert_string)(deflate_state *const s, const uint32_t str); uint32_t (* adler32) (uint32_t adler, const unsigned char *buf, size_t len); uint32_t (* crc32) (uint32_t crc, const unsigned char *buf, uint64_t len); void (* slide_hash) (deflate_state *s); diff --git a/insert_string_tpl.h b/insert_string_tpl.h index eee01070..127a7ca8 100644 --- a/insert_string_tpl.h +++ b/insert_string_tpl.h @@ -27,7 +27,7 @@ * of the hash chain (the most recent string with same hash key). Return * the previous length of the hash chain. */ -ZLIB_INTERNAL Pos QUICK_INSERT_STRING(deflate_state *const s, const Pos str) { +ZLIB_INTERNAL Pos QUICK_INSERT_STRING(deflate_state *const s, const uint32_t str) { Pos head; uint8_t *strstart = s->window + str; uint32_t val, hm, h = 0; @@ -60,7 +60,7 @@ ZLIB_INTERNAL Pos QUICK_INSERT_STRING(deflate_state *const s, const Pos str) { * input characters and the first MIN_MATCH bytes of str are valid * (except for the last MIN_MATCH-1 bytes of the input file). */ -ZLIB_INTERNAL Pos INSERT_STRING(deflate_state *const s, const Pos str, unsigned int count) { +ZLIB_INTERNAL Pos INSERT_STRING(deflate_state *const s, const uint32_t str, uint32_t count) { Pos idx, ret; uint8_t *strstart, *strend;