summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/http.c22
-rw-r--r--lib/http.h9
2 files changed, 18 insertions, 13 deletions
diff --git a/lib/http.c b/lib/http.c
index 93a5e3e33..ddec280f4 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -977,12 +977,15 @@ Curl_send_buffer *Curl_add_buffer_init(void)
* Returns CURLcode
*/
CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
- struct connectdata *conn,
- long *bytes_written, /* add the number of sent bytes
- to this counter */
- size_t included_body_bytes, /* how much of the buffer
- contains body data */
- int socketindex)
+ struct connectdata *conn,
+
+ /* add the number of sent bytes to this
+ counter */
+ long *bytes_written,
+
+ /* how much of the buffer contains body data */
+ size_t included_body_bytes,
+ int socketindex)
{
ssize_t amount;
@@ -1069,7 +1072,10 @@ CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
accordingly */
http->writebytecount += bodylen;
- *bytes_written += amount;
+ /* 'amount' can never be a very large value here so typecasting it so a
+ signed 31 bit value should not cause problems even if ssize_t is
+ 64bit */
+ *bytes_written += (long)amount;
if(http) {
if((size_t)amount != size) {
@@ -1380,7 +1386,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
if(CURLE_OK == result) {
/* Now send off the request */
result = Curl_add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, sockindex);
+ &data->info.request_size, 0, sockindex);
}
req_buffer = NULL;
if(result)
diff --git a/lib/http.h b/lib/http.h
index b7c1abf66..3007c319f 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -56,11 +56,10 @@ Curl_send_buffer *Curl_add_buffer_init(void);
CURLcode Curl_add_bufferf(Curl_send_buffer *in, const char *fmt, ...);
CURLcode Curl_add_buffer(Curl_send_buffer *in, const void *inptr, size_t size);
CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
- struct connectdata *conn,
- long *bytes_written,
- size_t included_body_bytes,
- int socketindex);
-
+ struct connectdata *conn,
+ long *bytes_written,
+ size_t included_body_bytes,
+ int socketindex);
CURLcode Curl_add_timecondition(struct SessionHandle *data,
Curl_send_buffer *buf);