=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-capture-pane.c,v retrieving revision 1.48 retrieving revision 1.49 diff -c -r1.48 -r1.49 *** src/usr.bin/tmux/cmd-capture-pane.c 2019/08/01 08:42:34 1.48 --- src/usr.bin/tmux/cmd-capture-pane.c 2019/12/12 11:39:56 1.49 *************** *** 1,4 **** ! /* $OpenBSD: cmd-capture-pane.c,v 1.48 2019/08/01 08:42:34 nicm Exp $ */ /* * Copyright (c) 2009 Jonathan Alvarado --- 1,4 ---- ! /* $OpenBSD: cmd-capture-pane.c,v 1.49 2019/12/12 11:39:56 nicm Exp $ */ /* * Copyright (c) 2009 Jonathan Alvarado *************** *** 193,199 **** cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item) { struct args *args = self->args; ! struct client *c; struct window_pane *wp = item->target.wp; char *buf, *cause; const char *bufname; --- 193,199 ---- cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item) { struct args *args = self->args; ! struct client *c = item->client; struct window_pane *wp = item->target.wp; char *buf, *cause; const char *bufname; *************** *** 214,231 **** 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"); free(buf); return (CMD_RETURN_ERROR); } ! evbuffer_add(c->stdout_data, buf, len); ! free(buf); if (args_has(args, 'P') && len > 0) ! evbuffer_add(c->stdout_data, "\n", 1); ! server_client_push_stdout(c); } else { bufname = NULL; if (args_has(args, 'b')) --- 214,228 ---- return (CMD_RETURN_ERROR); if (args_has(args, 'p')) { ! if (!file_can_print(c)) { ! cmdq_error(item, "can't write output to client"); free(buf); return (CMD_RETURN_ERROR); } ! file_print_buffer(c, buf, len); if (args_has(args, 'P') && len > 0) ! file_print(c, "\n"); ! free(buf); } else { bufname = NULL; if (args_has(args, 'b'))