From 2c014256f7f7490d7b45c7b452b8711b5c8e938f Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Mon, 17 May 2010 20:01:34 +0200 Subject: [PATCH] Fix sftp_rename on sftp3 --- libssh/sftp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libssh/sftp.c b/libssh/sftp.c index a3b0a198..250c093f 100644 --- a/libssh/sftp.c +++ b/libssh/sftp.c @@ -2339,8 +2339,9 @@ int sftp_rename(sftp_session sftp, const char *original, const char *newname) { if (buffer_add_u32(buffer, id) < 0 || buffer_add_ssh_string(buffer, oldpath) < 0 || buffer_add_ssh_string(buffer, newpath) < 0 || - /* POSIX rename atomically replaces newpath, we should do the same */ - buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE) < 0) { + /* POSIX rename atomically replaces newpath, we should do the same + * only available on >=v4 */ + sftp->version>=4 ? (buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE) < 0):0) { ssh_set_error_oom(sftp->session); ssh_buffer_free(buffer); ssh_string_free(oldpath);