- markus@cvs.openbsd.org 2001/05/04 23:47:34
     [channels.c channels.h clientloop.c nchan.c nchan.h serverloop.c ssh.c]
     move to Channel **channels (instead of Channel *channels), fixes realloc
     problems.  channel_new now returns a Channel *, favour Channel * over
     channel id.  remove old channel_allocate interface.
diff --git a/ssh.c b/ssh.c
index 0ba69be..c293258 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.117 2001/04/30 11:18:52 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.118 2001/05/04 23:47:34 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/err.h>
@@ -1058,8 +1058,8 @@
 int
 ssh_session2_command(void)
 {
-	int id, window, packetmax;
-	int in, out, err;
+	Channel *c;
+	int window, packetmax, in, out, err;
 
 	if (stdin_null_flag) {
 		in = open(_PATH_DEVNULL, O_RDONLY);
@@ -1086,18 +1086,20 @@
 		window *= 2;
 		packetmax *=2;
 	}
-	id = channel_new(
+	c = channel_new(
 	    "session", SSH_CHANNEL_OPENING, in, out, err,
 	    window, packetmax, CHAN_EXTENDED_WRITE,
 	    xstrdup("client-session"), /*nonblock*/0);
+	if (c == NULL)
+		fatal("ssh_session2_command: channel_new failed");
 
-debug("channel_new: %d", id);
+	debug3("ssh_session2_command: channel_new: %d", c->self);
 
-	channel_open(id);
-	channel_register_callback(id, SSH2_MSG_CHANNEL_OPEN_CONFIRMATION,
+	channel_open(c->self);
+	channel_register_callback(c->self, SSH2_MSG_CHANNEL_OPEN_CONFIRMATION,
 	     ssh_session2_callback, (void *)0);
 
-	return id;
+	return c->self;
 }
 
 int