diff options
author | nicm <nicm> | 2019-05-07 10:25:15 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-05-07 10:25:15 +0000 |
commit | 69440d19b783c72139f22c5c72b34b55d99e71de (patch) | |
tree | ac9803539b6091f3c666c471d76c2dd8e30fbb86 /window.c | |
parent | 45ae9a8e3520d73c795bb993ced4fe43d06ad6f1 (diff) | |
download | rtmux-69440d19b783c72139f22c5c72b34b55d99e71de.tar.gz rtmux-69440d19b783c72139f22c5c72b34b55d99e71de.tar.bz2 rtmux-69440d19b783c72139f22c5c72b34b55d99e71de.zip |
Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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 |