aboutsummaryrefslogtreecommitdiff
path: root/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'window.c')
-rw-r--r--window.c33
1 files changed, 13 insertions, 20 deletions
diff --git a/window.c b/window.c
index 8c506bc7..696d25f2 100644
--- a/window.c
+++ b/window.c
@@ -1,4 +1,4 @@
-/* $Id: window.c,v 1.128 2010-03-15 22:03:38 nicm Exp $ */
+/* $Id: window.c,v 1.129 2010-04-06 21:58:33 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -584,9 +584,19 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell,
void
window_pane_read_callback(unused struct bufferevent *bufev, void *data)
{
- struct window_pane *wp = data;
+ struct window_pane *wp = data;
+ char *new_data;
+ size_t new_size;
+
+ new_size = EVBUFFER_LENGTH(wp->event->input) - wp->pipe_off;
+ if (wp->pipe_fd != -1 && new_size > 0) {
+ new_data = EVBUFFER_DATA(wp->event->input);
+ bufferevent_write(wp->pipe_event, new_data, new_size);
+ }
- window_pane_parse(wp);
+ input_parse(wp);
+
+ wp->pipe_off = EVBUFFER_LENGTH(wp->event->input);
}
/* ARGSUSED */
@@ -734,23 +744,6 @@ window_pane_reset_mode(struct window_pane *wp)
}
void
-window_pane_parse(struct window_pane *wp)
-{
- char *data;
- size_t new_size;
-
- new_size = EVBUFFER_LENGTH(wp->event->input) - wp->pipe_off;
- if (wp->pipe_fd != -1 && new_size > 0) {
- data = EVBUFFER_DATA(wp->event->input);
- bufferevent_write(wp->pipe_event, data, new_size);
- }
-
- input_parse(wp);
-
- wp->pipe_off = EVBUFFER_LENGTH(wp->event->input);
-}
-
-void
window_pane_key(struct window_pane *wp, struct client *c, int key)
{
struct window_pane *wp2;