version 1.102, 2013/08/08 05:04:03 |
version 1.103, 2013/08/09 03:39:13 |
|
|
Buffer msg; |
Buffer msg; |
struct sftp_conn *ret; |
struct sftp_conn *ret; |
|
|
ret = xmalloc(sizeof(*ret)); |
ret = xcalloc(1, sizeof(*ret)); |
|
ret->msg_id = 1; |
ret->fd_in = fd_in; |
ret->fd_in = fd_in; |
ret->fd_out = fd_out; |
ret->fd_out = fd_out; |
ret->transfer_buflen = transfer_buflen; |
ret->transfer_buflen = transfer_buflen; |
|
|
if (read_error) { |
if (read_error) { |
error("Couldn't read from remote file \"%s\" : %s", |
error("Couldn't read from remote file \"%s\" : %s", |
remote_path, fx2txt(status)); |
remote_path, fx2txt(status)); |
|
status = -1; |
do_close(conn, handle, handle_len); |
do_close(conn, handle, handle_len); |
} else if (write_error) { |
} else if (write_error) { |
error("Couldn't write to \"%s\": %s", local_path, |
error("Couldn't write to \"%s\": %s", local_path, |
|
|
do_close(conn, handle, handle_len); |
do_close(conn, handle, handle_len); |
} else { |
} else { |
status = do_close(conn, handle, handle_len); |
status = do_close(conn, handle, handle_len); |
if (interrupted) |
if (interrupted || status != SSH2_FX_OK) |
status = -1; |
status = -1; |
/* Override umask and utimes if asked */ |
/* Override umask and utimes if asked */ |
if (pflag && fchmod(local_fd, mode) == -1) |
if (pflag && fchmod(local_fd, mode) == -1) |