aboutsummaryrefslogtreecommitdiff
path: root/cmd-capture-pane.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-12-12 14:33:47 +0000
committerThomas Adam <thomas@xteddy.org>2019-12-12 14:33:47 +0000
commit7922f4ee7bd4c18509c6774971fd007a4c5a10e3 (patch)
treecccfdd336c64b1b652a4b2333fa2efef0ba5edb3 /cmd-capture-pane.c
parent0d99519c3d3522e9281f8e0726e3d71fcf3e57f3 (diff)
parent5134666702ce972390f39e34bed9b60fe566263a (diff)
downloadrtmux-7922f4ee7bd4c18509c6774971fd007a4c5a10e3.tar.gz
rtmux-7922f4ee7bd4c18509c6774971fd007a4c5a10e3.tar.bz2
rtmux-7922f4ee7bd4c18509c6774971fd007a4c5a10e3.zip
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-capture-pane.c')
-rw-r--r--cmd-capture-pane.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index fc6c26e4..18be3f77 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -193,7 +193,7 @@ static enum cmd_retval
cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item)
{
struct args *args = self->args;
- struct client *c;
+ struct client *c = item->client;
struct window_pane *wp = item->target.wp;
char *buf, *cause;
const char *bufname;
@@ -214,18 +214,15 @@ cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item)
return (CMD_RETURN_ERROR);
if (args_has(args, 'p')) {
- c = item->client;
- if (c == NULL ||
- (c->session != NULL && !(c->flags & CLIENT_CONTROL))) {
- cmdq_error(item, "can't write to stdout");
+ if (!file_can_print(c)) {
+ cmdq_error(item, "can't write output to client");
free(buf);
return (CMD_RETURN_ERROR);
}
- evbuffer_add(c->stdout_data, buf, len);
- free(buf);
+ file_print_buffer(c, buf, len);
if (args_has(args, 'P') && len > 0)
- evbuffer_add(c->stdout_data, "\n", 1);
- server_client_push_stdout(c);
+ file_print(c, "\n");
+ free(buf);
} else {
bufname = NULL;
if (args_has(args, 'b'))