1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

fixed bad variable use when getting the size which we should read when

attempting not to read data that might belong to the next response (if
pipelining)
This commit is contained in:
Daniel Stenberg 2007-01-13 23:33:21 +00:00
parent 277df1c6b1
commit 869d65337e

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -347,8 +347,14 @@ CURLcode Curl_readwrite(struct connectdata *conn,
size_t bytestoread = buffersize; size_t bytestoread = buffersize;
int readrc; int readrc;
if (k->size != -1 && !k->header) if (k->size != -1 && !k->header) {
bytestoread = (size_t)(k->size - k->bytecount); /* make sure we don't read "too much" if we can help it since we
might be pipelining and then someone else might want to read what
follows! */
curl_off_t totalleft = k->size - k->bytecount;
if(totalleft < bytestoread)
bytestoread = (size_t)totalleft;
}
/* receive data from the network! */ /* receive data from the network! */
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread); readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);