From 9abdc5ae2aa61eb7ef3b7686e9b8341ea003328a Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Sun, 9 Aug 2009 00:20:42 +0200 Subject: [PATCH] Fixed channel_poll broken when delayed EOF recvd Previous code returned SSH_EOF even if data was left in buffer --- libssh/channels.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libssh/channels.c b/libssh/channels.c index 6e56833e..d10860ec 100644 --- a/libssh/channels.c +++ b/libssh/channels.c @@ -1618,6 +1618,9 @@ int channel_poll(CHANNEL *channel, int is_stderr){ } } + if (buffer_get_rest_len(stdbuf) > 0) + return buffer_get_rest_len(stdbuf); + if (channel->remote_eof) { leave_function(); return SSH_EOF;