[Zlib-devel] zlib 1.2.3.7 available for testing

Hiroshi Kuno hkuno-zlib at microhouse.co.jp
Mon Jan 25 05:20:28 EST 2010


I try to build zlib 1.2.3.7 with Visual C++ 9.0.
I get some warnings.
Those are same issue which Philip Lowman has pointed on zlib 1.2.3.5.

gzwrite.c(127) : warning C4018: '<' : signed and unsigned signed/unsigned mismatch
gzread.c(341) : warning C4018: '>' : signed and unsigned signed/unsigned mismatch
gzlib.c(333) : warning C4018: '>' : signed and unsigned signed/unsigned mismatch

Can you use type cast them?
Here are my patch.

Index: src/gzlib.c
===================================================================
--- src/gzlib.c	(revision 2010)
+++ src/gzlib.c	(working)
@@ -330,7 +330,7 @@
 
     /* if reading, skip what's in output buffer (one less gzgetc() check) */
     if (state->mode == GZ_READ) {
-        n = state->have > offset ? (unsigned)offset : state->have;
+        n = state->have > (unsigned z_off64_t)offset ? (unsigned)offset : state->have;
         state->have -= n;
         state->next += n;
         state->pos += n;
Index: src/gzread.c
===================================================================
--- src/gzread.c	(revision 2010)
+++ src/gzread.c	(working)
@@ -338,7 +338,7 @@
     while (len)
         /* skip over whatever is in output buffer */
         if (state->have) {
-            n = state->have > len ? (unsigned)len : state->have;
+            n = state->have > (unsigned z_off_t)len ? (unsigned)len : state->have;
             state->have -= n;
             state->next += n;
             state->pos += n;
Index: src/gzwrite.c
===================================================================
--- src/gzwrite.c	(revision 2010)
+++ src/gzwrite.c	(working)
@@ -124,7 +124,7 @@
     /* compress len zeros */
     first = 1;
     while (len) {
-        n = len < state->size ? (unsigned)len : state->size;
+        n = (unsigned z_off_t)len < state->size ? (unsigned)len : state->size;
         if (first) {
             memset(state->in, 0, n);
             first = 0;






More information about the Zlib-devel mailing list