Do not use evbuffer_add_buffer because it is destructive and doesn't

work in newer libevent.
This commit is contained in:
nicm
2019-05-07 10:25:15 +00:00
parent 45ae9a8e35
commit 69440d19b7
5 changed files with 24 additions and 25 deletions

View File

@ -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