mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
Stefan Krause pointed out a compiler warning with a picky MSCV compiler when
passing a curl_off_t argument to the Curl_read_rewind() function which takes an size_t argument. Curl_read_rewind() also had debug code left in it and it was put in a different source file with no good reason when only used from one single spot.
This commit is contained in:
parent
eb29c5c285
commit
5fd096da8d
6
CHANGES
6
CHANGES
@ -7,6 +7,12 @@
|
|||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
Daniel (5 December 2006)
|
Daniel (5 December 2006)
|
||||||
|
- Stefan Krause pointed out a compiler warning with a picky MSCV compiler when
|
||||||
|
passing a curl_off_t argument to the Curl_read_rewind() function which takes
|
||||||
|
an size_t argument. Curl_read_rewind() also had debug code left in it and it
|
||||||
|
was put in a different source file with no good reason when only used from
|
||||||
|
one single spot.
|
||||||
|
|
||||||
- Sh Diao reported that CURLOPT_CLOSEPOLICY doesn't work, and indeed, there is
|
- Sh Diao reported that CURLOPT_CLOSEPOLICY doesn't work, and indeed, there is
|
||||||
no code present in the library that receives the option. Since it was not
|
no code present in the library that receives the option. Since it was not
|
||||||
possible to use, we know that no current users exist and thus we simply
|
possible to use, we know that no current users exist and thus we simply
|
||||||
|
@ -49,6 +49,7 @@ advice from friends like these:
|
|||||||
|
|
||||||
James Housley, Olaf Stueben, Yang Tse, Gisle Vanem, Bradford Bruce,
|
James Housley, Olaf Stueben, Yang Tse, Gisle Vanem, Bradford Bruce,
|
||||||
Ciprian Badescu, Dmitriy Sergeyev, Nir Soffer, Venkat Akella, Toon Verwaest,
|
Ciprian Badescu, Dmitriy Sergeyev, Nir Soffer, Venkat Akella, Toon Verwaest,
|
||||||
Matt Witherspoon, Alexey Simak, Martin Skinner, Sh Diao, Jared Lundell
|
Matt Witherspoon, Alexey Simak, Martin Skinner, Sh Diao, Jared Lundell,
|
||||||
|
Stefan Krause
|
||||||
|
|
||||||
Thanks! (and sorry if I forgot to mention someone)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
18
lib/sendf.c
18
lib/sendf.c
@ -455,24 +455,6 @@ CURLcode Curl_client_write(struct connectdata *conn,
|
|||||||
|
|
||||||
#define MIN(a,b) (a < b ? a : b)
|
#define MIN(a,b) (a < b ? a : b)
|
||||||
|
|
||||||
void Curl_read_rewind(struct connectdata *conn,
|
|
||||||
size_t extraBytesRead)
|
|
||||||
{
|
|
||||||
char buf[512 + 1];
|
|
||||||
size_t bytesToShow;
|
|
||||||
|
|
||||||
conn->read_pos -= extraBytesRead;
|
|
||||||
conn->bits.stream_was_rewound = TRUE;
|
|
||||||
|
|
||||||
bytesToShow = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1);
|
|
||||||
memcpy(buf, conn->master_buffer + conn->read_pos, bytesToShow);
|
|
||||||
buf[bytesToShow] = '\0';
|
|
||||||
|
|
||||||
DEBUGF(infof(conn->data,
|
|
||||||
"Buffer after stream rewind (read_pos = %d): [%s]",
|
|
||||||
conn->read_pos, buf));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internal read-from-socket function. This is meant to deal with plain
|
* Internal read-from-socket function. This is meant to deal with plain
|
||||||
* sockets, SSL sockets and kerberos sockets.
|
* sockets, SSL sockets and kerberos sockets.
|
||||||
|
@ -266,6 +266,32 @@ static int data_pending(struct connectdata *conn)
|
|||||||
#define data_pending(x) 0
|
#define data_pending(x) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef MIN
|
||||||
|
#define MIN(a,b) (a < b ? a : b)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void read_rewind(struct connectdata *conn,
|
||||||
|
size_t thismuch)
|
||||||
|
{
|
||||||
|
conn->read_pos -= thismuch;
|
||||||
|
conn->bits.stream_was_rewound = TRUE;
|
||||||
|
|
||||||
|
#ifdef CURLDEBUG
|
||||||
|
{
|
||||||
|
char buf[512 + 1];
|
||||||
|
size_t show;
|
||||||
|
|
||||||
|
show = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1);
|
||||||
|
memcpy(buf, conn->master_buffer + conn->read_pos, show);
|
||||||
|
buf[show] = '\0';
|
||||||
|
|
||||||
|
DEBUGF(infof(conn->data,
|
||||||
|
"Buffer after stream rewind (read_pos = %d): [%s]",
|
||||||
|
conn->read_pos, buf));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Curl_readwrite() is the low-level function to be called when data is to
|
* Curl_readwrite() is the low-level function to be called when data is to
|
||||||
* be read and written to/from the connection.
|
* be read and written to/from the connection.
|
||||||
@ -1145,8 +1171,9 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||||||
|
|
||||||
if((-1 != k->maxdownload) &&
|
if((-1 != k->maxdownload) &&
|
||||||
(k->bytecount + nread >= k->maxdownload)) {
|
(k->bytecount + nread >= k->maxdownload)) {
|
||||||
curl_off_t excess = k->bytecount +
|
/* The 'excess' amount below can't be more than BUFSIZE which
|
||||||
((curl_off_t) nread) - k->maxdownload;
|
always will fit in a size_t */
|
||||||
|
size_t excess = k->bytecount + nread - k->maxdownload;
|
||||||
if (excess > 0 && !k->ignorebody) {
|
if (excess > 0 && !k->ignorebody) {
|
||||||
infof(data,
|
infof(data,
|
||||||
"Rewinding stream by : %" FORMAT_OFF_T
|
"Rewinding stream by : %" FORMAT_OFF_T
|
||||||
@ -1155,7 +1182,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||||||
", bytecount = %" FORMAT_OFF_T ", nread = %d)\n",
|
", bytecount = %" FORMAT_OFF_T ", nread = %d)\n",
|
||||||
excess, conn->data->reqdata.path,
|
excess, conn->data->reqdata.path,
|
||||||
k->size, k->maxdownload, k->bytecount, nread);
|
k->size, k->maxdownload, k->bytecount, nread);
|
||||||
Curl_read_rewind(conn, excess);
|
read_rewind(conn, excess);
|
||||||
}
|
}
|
||||||
|
|
||||||
nread = (ssize_t) (k->maxdownload - k->bytecount);
|
nread = (ssize_t) (k->maxdownload - k->bytecount);
|
||||||
|
Loading…
Reference in New Issue
Block a user