Changelog
+Daniel Stenberg (22 Mar 2008)
+- Fixed the problem with doing a zero byte SCP transfer, verified with test
+ case 617 (which was added by Daniel Fandrich 5 Mar 2008).
+
Daniel Fandrich (20 Mar 2008)
- Fixed a problem where curl-config --protocols could erroneously show LDAPS
support when curl didn't even have regular LDAP support. It looks like
o SFTP upload with CURLOPT_FTP_CREATE_MISSING_DIRS on re-used connection
o SFTP infinite loop when given an invalid quote command
o curl-config erroneously reported LDAPS support with missing LDAP libraries
+ o SCP infinite loop when downloading a zero byte file
This release includes the following known bugs:
[feature freeze entered, no new features!]
-126 - scp download 0 bytes, test case 617
-
127 - Dan Petitt's Progress During Large Posts problem
128 - Phil Blundell's ares and ipv6 fix
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);