summaryrefslogtreecommitdiffstats
path: root/libssh
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-05-02 20:46:10 +0000
committerAndreas Schneider <mail@cynapses.org>2009-05-02 20:46:10 +0000
commit0534fee674e0faec49d875ae3d2e71c966da399b (patch)
tree1396b25981ce3e0850cc62b921ca4347368c001d /libssh
parentc31893d24608a0d0903afdc267e2c7517f1ef6fa (diff)
downloadlibssh-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.c27
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) {