From e51798d002cc902aed4032d42afc82c9c69c24be Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 29 May 2016 00:20:14 +0200 Subject: [PATCH] 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 --- lib/ssh.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/ssh.c b/lib/ssh.c index 50a72ac6e..907f646e8 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -102,6 +102,11 @@ have their definition hidden well */ #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_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); break; } +#ifdef HAS_STATVFS_SUPPORT else if(curl_strnequal(cmd, "statvfs ", 8)) { state(conn, SSH_SFTP_QUOTE_STATVFS); break; } +#endif failf(data, "Unknown SFTP command"); 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); break; +#ifdef HAS_STATVFS_SUPPORT case SSH_SFTP_QUOTE_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); break; } - +#endif case SSH_SFTP_GETINFO: { if(data->set.get_filetime) {