1
1

socket: Fix check for pending data.

BUG: https://red.libssh.org/issues/119

Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Этот коммит содержится в:
Aris Adamantiadis 2013-11-03 12:46:27 +01:00 коммит произвёл Andreas Schneider
родитель 754152aa22
Коммит 04cb94a2dd
2 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -208,10 +208,14 @@ enum ssh_publickey_state_e {
SSH_PUBLICKEY_STATE_WRONG=2
};
/* status flags */
/* Status flags */
/** Socket is closed */
#define SSH_CLOSED 0x01
/** Reading to socket won't block */
#define SSH_READ_PENDING 0x02
/** Session was closed due to an error */
#define SSH_CLOSED_ERROR 0x04
/** Output buffer not empty */
#define SSH_WRITE_PENDING 0x08
enum ssh_server_known_e {

Просмотреть файл

@ -695,11 +695,11 @@ int ssh_socket_buffered_write_bytes(ssh_socket s){
int ssh_socket_get_status(ssh_socket s) {
int r = 0;
if (s->read_wontblock) {
r |= SSH_READ_PENDING;
if (buffer_get_len(s->in_buffer) > 0) {
r |= SSH_READ_PENDING;
}
if (s->write_wontblock) {
if (buffer_get_len(s->out_buffer) > 0) {
r |= SSH_WRITE_PENDING;
}