diff options
| -rw-r--r-- | lib/transfer.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index 0d1d563bd..e863be4e1 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -233,17 +233,16 @@ CURLcode Curl_readwrite(struct connectdata *conn,      if((k->keepon & KEEP_READ) &&         (FD_ISSET(conn->sockfd, readfdp))) { -      bool readdone = FALSE; +      bool readdone = TRUE;        /* This is where we loop until we have read everything there is to           read or we get a EWOULDBLOCK */        do { +        int buffersize = data->set.buffer_size? +          data->set.buffer_size:BUFSIZE -1; -        /* read! */ -        result = Curl_read(conn, conn->sockfd, k->buf, -                           data->set.buffer_size? -                           data->set.buffer_size:BUFSIZE -1, -                           &nread); +        /* receive data from the network! */ +        result = Curl_read(conn, conn->sockfd, k->buf, buffersize, &nread);          if(0>result)            break; /* get out of loop */  | 
