1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

No longer loop to read multiple times before returning back from the transfer

function, as this could easily end up looping for a very long time (more or
less until the whole transfer was done) and no library-using app would want
that.

Found thanks to a report by Kyle Sallee.
This commit is contained in:
Daniel Stenberg 2003-02-26 12:42:25 +00:00
parent db5c9cd4c0
commit 5ddc260fc2

View File

@ -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 */