From 69440d19b783c72139f22c5c72b34b55d99e71de Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 7 May 2019 10:25:15 +0000 Subject: Do not use evbuffer_add_buffer because it is destructive and doesn't work in newer libevent. --- window.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'window.c') diff --git a/window.c b/window.c index 62de5006..b08a5d35 100644 --- a/window.c +++ b/window.c @@ -1477,6 +1477,9 @@ window_pane_input_callback(struct client *c, int closed, void *data) { struct window_pane_input_data *cdata = data; struct window_pane *wp; + struct evbuffer *evb = c->stdin_data; + u_char *buf = EVBUFFER_DATA(evb); + size_t len = EVBUFFER_LENGTH(evb); wp = window_pane_find_by_id(cdata->wp); if (wp == NULL || closed || c->flags & CLIENT_DEAD) { @@ -1489,9 +1492,8 @@ window_pane_input_callback(struct client *c, int closed, void *data) return; } - if (evbuffer_add_buffer(wp->event->input, c->stdin_data) != 0) - evbuffer_drain(c->stdin_data, EVBUFFER_LENGTH(c->stdin_data)); - input_parse(wp); + input_parse_buffer(wp, buf, len); + evbuffer_drain(evb, len); } int -- cgit