diff options
author | Thomas Adam <thomas@xteddy.org> | 2019-05-07 13:02:27 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2019-05-07 13:02:27 +0100 |
commit | d9767b81123cc8913c63c42cc754cccbf34ccb6c (patch) | |
tree | 94e0a8cdb822db6145080c02907ad626c0d0fa89 /window.c | |
parent | eac30a86d78879f2dec802b0d246eba0afa79b3e (diff) | |
parent | 85a9c2f52b8855560fa9fdaa033d1c7bca738429 (diff) | |
download | rtmux-d9767b81123cc8913c63c42cc754cccbf34ccb6c.tar.gz rtmux-d9767b81123cc8913c63c42cc754cccbf34ccb6c.tar.bz2 rtmux-d9767b81123cc8913c63c42cc754cccbf34ccb6c.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1478,6 +1478,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) { @@ -1490,9 +1493,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 |