read SFTP with the non-blocking API
authorDaniel Stenberg <daniel@haxx.se>
Tue, 6 Feb 2007 15:41:19 +0000 (15:41 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 6 Feb 2007 15:41:19 +0000 (15:41 +0000)
lib/ssh.c

index 375447a..fafbd44 100644 (file)
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -974,12 +974,18 @@ ssize_t Curl_sftp_recv(struct connectdata *conn, int sockindex,
                    char *mem, size_t len)
 {
   ssize_t nread;
+  (void)sockindex;
 
   /* libssh2_sftp_read() returns size_t !*/
 
+#ifdef LIBSSH2SFTP_EAGAIN
+  /* we prefer the non-blocking API but that didn't exist previously */
+  nread = (ssize_t)
+    libssh2_sftp_readnb(conn->data->reqdata.proto.ssh->sftp_handle, mem, len);
+#else
   nread = (ssize_t)
     libssh2_sftp_read(conn->data->reqdata.proto.ssh->sftp_handle, mem, len);
-  (void)sockindex;
+#endif
   return nread;
 }