debug("channel_free: channel %d: status: %s", c->self, s);
debug3("channel_free: status: %s", c->self, s);
channel_free(Channel *c){	char *s;	s = channel_open_message();	debug("channel_free: channel %d: status: %s", c->self, s);	xfree(s);	if (c->dettach_user != NULL) {		debug("channel_free: channel %d: dettaching channel user", c->self);		c->dettach_user(c->self, NULL);	}	if (c->sock != -1)		shutdown(c->sock, SHUT_RDWR);	channel_close_fds(c);	buffer_free(&c->input);	buffer_free(&c->output);	buffer_free(&c->extended);	if (c->remote_name) {		xfree(c->remote_name);		c->remote_name = NULL;	}	channels[c->self] = NULL;	xfree(c);}