The Curl_unencode_XXX_write() function take a ssize_t as third argument, so
we typecast on invoke.
diff --git a/lib/http_chunks.c b/lib/http_chunks.c
index f939d2d..baf2d66 100644
--- a/lib/http_chunks.c
+++ b/lib/http_chunks.c
@@ -33,7 +33,7 @@
 #include "urldata.h" /* it includes http_chunks.h */
 #include "sendf.h"   /* for the client write stuff */
 
-#include "content_encoding.h"   /* 08/29/02 jhrg */
+#include "content_encoding.h"
 #include "http.h"
 #include "memory.h"
 
@@ -178,8 +178,6 @@
       piece = (ch->datasize >= length)?length:ch->datasize;
 
       /* Write the data portion available */
-      /* Added content-encoding here; untested but almost identical to the
-         tested code in transfer.c. 08/29/02 jhrg */
 #ifdef HAVE_LIBZ
       switch (conn->keep.content_encoding) {
         case IDENTITY:
@@ -193,13 +191,15 @@
         case DEFLATE: 
           /* update conn->keep.str to point to the chunk data. */
           conn->keep.str = datap;
-          result = Curl_unencode_deflate_write(conn->data, &conn->keep, piece);
+          result = Curl_unencode_deflate_write(conn->data, &conn->keep,
+                                               (ssize_t)piece);
           break;
 
         case GZIP:
           /* update conn->keep.str to point to the chunk data. */
           conn->keep.str = datap;
-          result = Curl_unencode_gzip_write(conn->data, &conn->keep, piece);
+          result = Curl_unencode_gzip_write(conn->data, &conn->keep,
+                                            (ssize_t)piece);
           break;
 
         case COMPRESS: