diff options
author | Andreas Schneider <mail@cynapses.org> | 2009-05-02 20:46:10 +0000 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-05-02 20:46:10 +0000 |
commit | 0534fee674e0faec49d875ae3d2e71c966da399b (patch) | |
tree | 1396b25981ce3e0850cc62b921ca4347368c001d /libssh | |
parent | c31893d24608a0d0903afdc267e2c7517f1ef6fa (diff) | |
download | libssh-0534fee674e0faec49d875ae3d2e71c966da399b.tar.gz libssh-0534fee674e0faec49d875ae3d2e71c966da399b.tar.xz libssh-0534fee674e0faec49d875ae3d2e71c966da399b.zip |
Improve ssh_channel_from_local().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@674 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/channels.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/libssh/channels.c b/libssh/channels.c index 2c2b6ac..4506d53 100644 --- a/libssh/channels.c +++ b/libssh/channels.c @@ -230,17 +230,24 @@ static int channel_open(CHANNEL *channel, const char *type_c, int window, return -1; } -CHANNEL *ssh_channel_from_local(SSH_SESSION *session,u32 num){ - // we assume we are always the local - CHANNEL *initchan,*channel; - initchan=session->channels; - if(!initchan) - return NULL; - for(channel=initchan;channel->local_channel!=num;channel=channel->next){ - if(channel->next==initchan) - return NULL; +/* get ssh channel from local session? */ +CHANNEL *ssh_channel_from_local(SSH_SESSION *session, u32 id) { + CHANNEL *initchan = session->channels; + CHANNEL *channel; + + /* We assume we are always the local */ + if (initchan == NULL) { + return NULL; + } + + for (channel = initchan; channel->local_channel != id; + channel=channel->next) { + if (channel->next == initchan) { + return NULL; } - return channel; + } + + return channel; } static int grow_window(SSH_SESSION *session, CHANNEL *channel, int minimumsize) { |