mirror of
https://github.com/curl/curl.git
synced 2026-07-24 14:27:16 +03:00
- Fixed the problem with doing a zero byte SCP transfer, verified with test
case 617 (which was added by Daniel Fandrich 5 Mar 2008).
This commit is contained in:
parent
98c9a5b7f6
commit
95bd901efe
5 changed files with 23 additions and 12 deletions
|
|
@ -397,18 +397,26 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||
bytestoread = (size_t)totalleft;
|
||||
}
|
||||
|
||||
/* receive data from the network! */
|
||||
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
|
||||
if(bytestoread) {
|
||||
/* receive data from the network! */
|
||||
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
|
||||
|
||||
/* subzero, this would've blocked */
|
||||
if(0 > readrc)
|
||||
break; /* get out of loop */
|
||||
/* subzero, this would've blocked */
|
||||
if(0 > readrc)
|
||||
break; /* get out of loop */
|
||||
|
||||
/* get the CURLcode from the int */
|
||||
result = (CURLcode)readrc;
|
||||
/* get the CURLcode from the int */
|
||||
result = (CURLcode)readrc;
|
||||
|
||||
if(result>0)
|
||||
return result;
|
||||
if(result>0)
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
/* read nothing but since we wanted nothing we consider this an OK
|
||||
situation to proceed from */
|
||||
nread = 0;
|
||||
result = CURLE_OK;
|
||||
}
|
||||
|
||||
if((k->bytecount == 0) && (k->writebytecount == 0)) {
|
||||
Curl_pgrsTime(data, TIMER_STARTTRANSFER);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue