# define DEF_MEM_LEVEL MAX_MEM_LEVEL
#endif
-/* default i/o buffer size -- double this for output when reading */
+/* default i/o buffer size -- double this for output when reading (this and
+ twice this must be able to fit in an unsigned type) */
#define GZBUFSIZE 8192
/* gzip modes, also provide a little integrity check on the passed structure */
if (strm->avail_in == 0)
strm->next_in = state->in;
- have = strm->next_in + strm->avail_in - state->in;
+ have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
copy = state->size - have;
if (copy > len)
copy = len;
if (state->size) {
if (strm->avail_in == 0)
strm->next_in = state->in;
- have = strm->next_in + strm->avail_in - state->in;
+ have = (unsigned)((strm->next_in + strm->avail_in) - state->in);
if (have < state->size) {
state->in[have] = c;
strm->avail_in++;