Add casts in gzwrite.c for pointer differences.
diff --git a/gzguts.h b/gzguts.h
index c22814d..d87659d 100644
--- a/gzguts.h
+++ b/gzguts.h
@@ -142,7 +142,8 @@
# 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 */
diff --git a/gzwrite.c b/gzwrite.c
index 3729a29..aa767fb 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -211,7 +211,7 @@
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;
@@ -273,7 +273,7 @@
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++;