diff options
Diffstat (limited to 'lib/transfer.c')
-rw-r--r-- | lib/transfer.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index 52fde048f..805484bba 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -622,7 +622,7 @@ Transfer(struct connectdata *c_conn) /* If it returned OK, we just keep going */ } - if(conn->maxdownload && + if((-1 != conn->maxdownload) && (bytecount + nread >= conn->maxdownload)) { nread = conn->maxdownload - bytecount; if((signed int)nread < 0 ) /* this should be unusual */ @@ -634,7 +634,7 @@ Transfer(struct connectdata *c_conn) Curl_pgrsSetDownloadCounter(data, (double)bytecount); - if(! conn->bits.chunk) { + if(!conn->bits.chunk && nread) { /* If this is chunky transfer, it was already written */ urg = Curl_client_write(data, CLIENTWRITE_BODY, str, nread); if(urg) |