]> granicus.if.org Git - curl/commitdiff
http_chunks.c: Fixed compilation warnings under some 32-bit systems
authorSteve Holme <steve_holme@hotmail.com>
Sun, 19 Jan 2014 13:04:59 +0000 (13:04 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 19 Jan 2014 13:10:45 +0000 (13:10 +0000)
conversion from 'curl_off_t' to 'size_t', possible loss of data

Where curl_off_t is a 64-bit word and size_t is 32-bit - for example
with 32-bit Windows builds.

lib/http_chunks.c

index eaefa05d127c3e80e674d32f95322158cbf95dac..47de95845679b4af970fe19f30bcd14c5c3f3941 100644 (file)
@@ -32,6 +32,7 @@
 #include "curl_memory.h"
 #include "non-ascii.h" /* for Curl_convert_to_network prototype */
 #include "strtoofft.h"
+#include "warnless.h"
 
 #define _MPRINTF_REPLACE /* use our functions only */
 #include <curl/mprintf.h>
@@ -188,7 +189,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
       /* We expect 'datasize' of data. We have 'length' right now, it can be
          more or less than 'datasize'. Get the smallest piece.
       */
-      piece = (ch->datasize >= length)?length:ch->datasize;
+      piece = curlx_sotouz((ch->datasize >= length)?length:ch->datasize);
 
       /* Write the data portion available */
 #ifdef HAVE_LIBZ
@@ -350,8 +351,8 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
 
         /* Record the length of any data left in the end of the buffer
            even if there's no more chunks to read */
+        ch->dataleft = curlx_sotouz(length);
 
-        ch->dataleft = length;
         return CHUNKE_STOP; /* return stop */
       }
       else