/* 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 */
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)
conn->bits.user_passwd = data->userpwd?1:0;
conn->bits.proxy_user_passwd = data->proxyuserpwd?1:0;
+ /* maxdownload must be -1 on init, as 0 is a valid value! */
+ conn->maxdownload = -1; /* might have been used previously! */
+
/* Store creation time to help future close decision making */
conn->created = Curl_tvnow();
conn->ppath = path; /* set this too */
/* re-use init */
- conn->maxdownload = 0; /* might have been used previously! */
conn->bits.reuse = TRUE; /* yes, we're re-using here */
+ conn->maxdownload = -1; /* might have been used previously! */
free(old_conn); /* we don't need this anymore */