aboutsummaryrefslogtreecommitdiff
path: root/libssh/sftp.c
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-04-23 15:10:59 +0000
committerAndreas Schneider <mail@cynapses.org>2009-04-23 15:10:59 +0000
commit5a84af65fab65fcef1de813ef4f17c13693b45af (patch)
treeb92e186a0d3b202120d4cfaed5d64032b24bf364 /libssh/sftp.c
parent5d689c2d297e9c3a78b6eb1948f7b3080bb9cd3b (diff)
downloadlibssh-5a84af65fab65fcef1de813ef4f17c13693b45af.tar.gz
libssh-5a84af65fab65fcef1de813ef4f17c13693b45af.tar.xz
libssh-5a84af65fab65fcef1de813ef4f17c13693b45af.zip
Improve sftp_close().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@599 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh/sftp.c')
-rw-r--r--libssh/sftp.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index fbe21eed..1885b3b1 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -1317,18 +1317,18 @@ int sftp_file_close(SFTP_FILE *file) {
/* Close an open file handle. */
int sftp_close(SFTP_FILE *file){
- int err=SSH_NO_ERROR;
- if(file->name)
- free(file->name);
- if(file->handle){
- err=sftp_handle_close(file->sftp,file->handle);
- free(file->handle);
- }
- /* FIXME: check server response and implement errno */
- free(file);
- return err;
-}
+ int err = SSH_NO_ERROR;
+ SAFE_FREE(file->name);
+ if (file->handle){
+ err = sftp_handle_close(file->sftp,file->handle);
+ string_free(file->handle);
+ }
+ /* FIXME: check server response and implement errno */
+ SAFE_FREE(file);
+
+ return err;
+}
int sftp_dir_close(SFTP_DIR *dir) {
return sftp_closedir(dir);