]> andersk Git - openssh.git/blobdiff - channels.c
fix spacing of include
[openssh.git] / channels.c
index ed5903f6fd3dbf5cbd4e9367446ae69d1305fc91..78d4d918729cb100e479ab2c0f5bb25e2265297b 100644 (file)
@@ -39,7 +39,9 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.231 2005/12/30 15:56:36 reyk Exp $");
+RCSID("$OpenBSD: channels.c,v 1.233 2006/02/07 01:42:00 stevesk Exp $");
+
+#include <termios.h>
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -1466,7 +1468,11 @@ channel_handle_wfd(Channel *c, fd_set * readset, fd_set * writeset)
                if (c->output_filter != NULL) {
                        if ((buf = c->output_filter(c, &data, &dlen)) == NULL) {
                                debug2("channel %d: filter stops", c->self);
-                               chan_read_failed(c);
+                               if (c->type != SSH_CHANNEL_OPEN)
+                                       chan_mark_dead(c);
+                               else
+                                       chan_write_failed(c);
+                               return -1;
                        }
                } else if (c->datagram) {
                        buf = data = buffer_get_string(&c->output, &dlen);
@@ -1491,8 +1497,6 @@ channel_handle_wfd(Channel *c, fd_set * readset, fd_set * writeset)
                        }
                        return 1;
                }
-               data = buffer_ptr(&c->output);
-               dlen = buffer_len(&c->output);
 #ifdef _AIX
                /* XXX: Later AIX versions can't push as much data to tty */
                if (compat20 && c->wfd_isatty)
This page took 0.077741 seconds and 4 git commands to generate.