mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-30 13:01:23 +03:00
Improve ssh_channel_from_local().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@674 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -607,7 +607,7 @@ CHANNEL *channel_new(SSH_SESSION *session);
|
|||||||
int channel_default_bufferize(CHANNEL *channel, void *data, int len,
|
int channel_default_bufferize(CHANNEL *channel, void *data, int len,
|
||||||
int is_stderr);
|
int is_stderr);
|
||||||
u32 ssh_channel_new_id(SSH_SESSION *session);
|
u32 ssh_channel_new_id(SSH_SESSION *session);
|
||||||
CHANNEL *ssh_channel_from_local(SSH_SESSION *session,u32 num);
|
CHANNEL *ssh_channel_from_local(SSH_SESSION *session, u32 id);
|
||||||
|
|
||||||
/* options.c */
|
/* options.c */
|
||||||
|
|
||||||
|
|||||||
@@ -230,16 +230,23 @@ static int channel_open(CHANNEL *channel, const char *type_c, int window,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
CHANNEL *ssh_channel_from_local(SSH_SESSION *session,u32 num){
|
/* get ssh channel from local session? */
|
||||||
// we assume we are always the local
|
CHANNEL *ssh_channel_from_local(SSH_SESSION *session, u32 id) {
|
||||||
CHANNEL *initchan,*channel;
|
CHANNEL *initchan = session->channels;
|
||||||
initchan=session->channels;
|
CHANNEL *channel;
|
||||||
if(!initchan)
|
|
||||||
return NULL;
|
/* We assume we are always the local */
|
||||||
for(channel=initchan;channel->local_channel!=num;channel=channel->next){
|
if (initchan == NULL) {
|
||||||
if(channel->next==initchan)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (channel = initchan; channel->local_channel != id;
|
||||||
|
channel=channel->next) {
|
||||||
|
if (channel->next == initchan) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return channel;
|
return channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user