=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- src/usr.bin/tmux/window.c 2010/03/22 19:07:52 1.45 +++ src/usr.bin/tmux/window.c 2010/04/04 18:48:37 1.46 @@ -1,4 +1,4 @@ -/* $OpenBSD: window.c,v 1.45 2010/03/22 19:07:52 nicm Exp $ */ +/* $OpenBSD: window.c,v 1.46 2010/04/04 18:48:37 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -586,9 +586,19 @@ 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; - window_pane_parse(wp); + 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); + } + + input_parse(wp); + + wp->pipe_off = EVBUFFER_LENGTH(wp->event->input); } /* ARGSUSED */ @@ -724,23 +734,6 @@ wp->screen = &wp->base; wp->flags |= PANE_REDRAW; -} - -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