mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-30 13:01:23 +03:00
Improve sftp_reply_names.
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@626 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -332,22 +332,34 @@ int sftp_reply_names_add(SFTP_CLIENT_MESSAGE *msg, const char *file,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int sftp_reply_names(SFTP_CLIENT_MESSAGE *msg){
|
int sftp_reply_names(SFTP_CLIENT_MESSAGE *msg) {
|
||||||
BUFFER *out=buffer_new();
|
BUFFER *out;
|
||||||
int r;
|
|
||||||
buffer_add_u32(out,msg->id);
|
out = buffer_new();
|
||||||
buffer_add_u32(out,htonl(msg->attr_num));
|
if (out == NULL) {
|
||||||
buffer_add_data(out,buffer_get(msg->attrbuf),
|
buffer_free(msg->attrbuf);
|
||||||
buffer_get_len(msg->attrbuf));
|
return -1;
|
||||||
r=sftp_packet_write(msg->sftp,SSH_FXP_NAME,out);
|
}
|
||||||
|
|
||||||
|
if (buffer_add_u32(out, msg->id) < 0 ||
|
||||||
|
buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
|
||||||
|
buffer_add_data(out, buffer_get(msg->attrbuf),
|
||||||
|
buffer_get_len(msg->attrbuf)) < 0 ||
|
||||||
|
sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
|
||||||
buffer_free(out);
|
buffer_free(out);
|
||||||
buffer_free(msg->attrbuf);
|
buffer_free(msg->attrbuf);
|
||||||
msg->attr_num=0;
|
return -1;
|
||||||
msg->attrbuf=NULL;
|
}
|
||||||
return r<0;
|
|
||||||
|
buffer_free(out);
|
||||||
|
buffer_free(msg->attrbuf);
|
||||||
|
|
||||||
|
msg->attr_num = 0;
|
||||||
|
msg->attrbuf = NULL;
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int sftp_reply_status(SFTP_CLIENT_MESSAGE *msg, u32 status, char *message){
|
int sftp_reply_status(SFTP_CLIENT_MESSAGE *msg, u32 status, char *message){
|
||||||
BUFFER *out=buffer_new();
|
BUFFER *out=buffer_new();
|
||||||
int r;
|
int r;
|
||||||
|
|||||||
Reference in New Issue
Block a user