diff options
author | Dmitriy Kuznetsov <dk@yandex.ru> | 2012-09-07 12:23:55 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-09-07 12:23:55 +0200 |
commit | a18106d3afc92f0ec3d71218fc907d921100ac3b (patch) | |
tree | 673cd4a78fe4516455bef65089ad571ed865b361 /src | |
parent | 3739bd99c556f6fc7fba4a2917566c350ac61605 (diff) | |
download | libssh-a18106d3afc92f0ec3d71218fc907d921100ac3b.tar.gz libssh-a18106d3afc92f0ec3d71218fc907d921100ac3b.tar.xz libssh-a18106d3afc92f0ec3d71218fc907d921100ac3b.zip |
channels: Fix channel_request_pty_size1 always returning an error.
Fixes bug #88.
Diffstat (limited to 'src')
-rw-r--r-- | src/channels1.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/channels1.c b/src/channels1.c index 24546a4..9ba5866 100644 --- a/src/channels1.c +++ b/src/channels1.c @@ -112,10 +112,15 @@ int channel_request_pty_size1(ssh_channel channel, const char *terminal, int col } ssh_log(session, SSH_LOG_FUNCTIONS, "Opening a ssh1 pty"); - + channel->request_state = SSH_CHANNEL_REQ_STATE_PENDING; if (packet_send(session) == SSH_ERROR) { return -1; } + + while (channel->request_state == SSH_CHANNEL_REQ_STATE_PENDING) { + ssh_handle_packets(session, SSH_TIMEOUT_INFINITE); + } + switch(channel->request_state){ case SSH_CHANNEL_REQ_STATE_ERROR: case SSH_CHANNEL_REQ_STATE_PENDING: |