summaryrefslogtreecommitdiff
path: root/lib/file.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-10-14 18:23:16 +0200
committerYang Tse <yangsita@gmail.com>2011-10-14 18:23:16 +0200
commit8af94de50ad7ae043dafd298d5458d5a424527a8 (patch)
tree1164fecef6b774d73a7be1a35f75f8d083e39cc5 /lib/file.c
parent1bab38780b55cc4bd39267f54aacb49ddeb00eb2 (diff)
downloadcurl-8af94de50ad7ae043dafd298d5458d5a424527a8.tar.gz
file.c: fix compiler warning
Diffstat (limited to 'lib/file.c')
-rw-r--r--lib/file.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/file.c b/lib/file.c
index 610a3495b..9475d0c56 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -67,6 +67,7 @@
#include "url.h"
#include "curl_memory.h"
#include "parsedate.h" /* for the week day and month names */
+#include "warnless.h"
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
@@ -422,7 +423,6 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
curl_off_t expected_size=0;
bool fstated=FALSE;
ssize_t nread;
- size_t bytestoread;
struct SessionHandle *data = conn->data;
char *buf = data->state.buffer;
curl_off_t bytecount = 0;
@@ -544,7 +544,10 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
while(res == CURLE_OK) {
/* Don't fill a whole buffer if we want less than all data */
- bytestoread = (expected_size < BUFSIZE-1)?(size_t)expected_size:BUFSIZE-1;
+ size_t bytestoread =
+ (expected_size < CURL_OFF_T_C(BUFSIZE) - CURL_OFF_T_C(1)) ?
+ curlx_sotouz(expected_size) : BUFSIZE - 1;
+
nread = read(fd, buf, bytestoread);
if(nread > 0)