1
0
mirror of https://github.com/moparisthebest/curl synced 2025-03-11 07:39:50 -04:00

ssh: fix build for libssh2 before 1.2.6

The statvfs functionality was added to libssh2 in that version, so we
switch off that functionality when built with older libraries.

Fixes #831
This commit is contained in:
Daniel Stenberg 2016-05-29 00:20:14 +02:00
parent b15a17c702
commit e51798d002

View File

@ -102,6 +102,11 @@
have their definition hidden well */ have their definition hidden well */
#endif #endif
#if LIBSSH2_VERSION_NUM >= x010206
/* libssh2_sftp_statvfs and friends were added in 1.2.6 */
#define HAS_STATVFS_SUPPORT 1
#endif
#define sftp_libssh2_last_error(s) curlx_ultosi(libssh2_sftp_last_error(s)) #define sftp_libssh2_last_error(s) curlx_ultosi(libssh2_sftp_last_error(s))
#define sftp_libssh2_realpath(s,p,t,m) \ #define sftp_libssh2_realpath(s,p,t,m) \
@ -1365,10 +1370,12 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
state(conn, SSH_SFTP_QUOTE_UNLINK); state(conn, SSH_SFTP_QUOTE_UNLINK);
break; break;
} }
#ifdef HAS_STATVFS_SUPPORT
else if(curl_strnequal(cmd, "statvfs ", 8)) { else if(curl_strnequal(cmd, "statvfs ", 8)) {
state(conn, SSH_SFTP_QUOTE_STATVFS); state(conn, SSH_SFTP_QUOTE_STATVFS);
break; break;
} }
#endif
failf(data, "Unknown SFTP command"); failf(data, "Unknown SFTP command");
Curl_safefree(sshc->quote_path1); Curl_safefree(sshc->quote_path1);
@ -1619,6 +1626,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
state(conn, SSH_SFTP_NEXT_QUOTE); state(conn, SSH_SFTP_NEXT_QUOTE);
break; break;
#ifdef HAS_STATVFS_SUPPORT
case SSH_SFTP_QUOTE_STATVFS: case SSH_SFTP_QUOTE_STATVFS:
{ {
LIBSSH2_SFTP_STATVFS statvfs; LIBSSH2_SFTP_STATVFS statvfs;
@ -1670,7 +1678,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
state(conn, SSH_SFTP_NEXT_QUOTE); state(conn, SSH_SFTP_NEXT_QUOTE);
break; break;
} }
#endif
case SSH_SFTP_GETINFO: case SSH_SFTP_GETINFO:
{ {
if(data->set.get_filetime) { if(data->set.get_filetime) {