summaryrefslogtreecommitdiffstats
path: root/libssh/sftp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/sftp.c')
-rw-r--r--libssh/sftp.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index 4854506..1ee7636 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -370,24 +370,29 @@ static SFTP_MESSAGE *sftp_get_message(SFTP_PACKET *packet) {
return msg;
}
-static int sftp_read_and_dispatch(SFTP_SESSION *sftp){
- SFTP_PACKET *packet;
- SFTP_MESSAGE *message=NULL;
- sftp_enter_function();
- packet=sftp_packet_read(sftp);
- if(!packet){
- sftp_leave_function();
- return -1; /* something nasty happened reading the packet */
- }
- message=sftp_get_message(packet);
- sftp_packet_free(packet);
- if(!message){
- sftp_leave_function();
- return -1;
- }
- sftp_enqueue(sftp,message);
+static int sftp_read_and_dispatch(SFTP_SESSION *sftp) {
+ SFTP_PACKET *packet = NULL;
+ SFTP_MESSAGE *msg = NULL;
+
+ sftp_enter_function();
+
+ packet = sftp_packet_read(sftp);
+ if (packet == NULL) {
sftp_leave_function();
- return 0;
+ return -1; /* something nasty happened reading the packet */
+ }
+
+ msg = sftp_get_message(packet);
+ sftp_packet_free(packet);
+ if (message == NULL) {
+ sftp_leave_function();
+ return -1;
+ }
+
+ sftp_enqueue(sftp, msg);
+
+ sftp_leave_function();
+ return 0;
}
void sftp_packet_free(SFTP_PACKET *packet){