diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-06-01 12:01:20 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-06-01 12:01:20 +0100 |
commit | 91e40de2da5124b1593c1c25462b8c9a36b8ebfd (patch) | |
tree | baae9e8fbba21c26851ca4f451105ac194a1d688 /cmd-capture-pane.c | |
parent | 5ef790a6c41f5b78d2e757612b75cb9142b9173f (diff) | |
parent | a54a88edd6fd893d4370feb9f9136e13096b891c (diff) | |
download | rtmux-91e40de2da5124b1593c1c25462b8c9a36b8ebfd.tar.gz rtmux-91e40de2da5124b1593c1c25462b8c9a36b8ebfd.tar.bz2 rtmux-91e40de2da5124b1593c1c25462b8c9a36b8ebfd.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-capture-pane.c')
-rw-r--r-- | cmd-capture-pane.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c index 588b0fd5..6f37bc8f 100644 --- a/cmd-capture-pane.c +++ b/cmd-capture-pane.c @@ -214,15 +214,20 @@ cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item) return (CMD_RETURN_ERROR); if (args_has(args, 'p')) { - if (!file_can_print(c)) { - cmdq_error(item, "can't write output to client"); + if (len > 0 && buf[len - 1] == '\n') + len--; + if (c->flags & CLIENT_CONTROL) + control_write(c, "%.*s", (int)len, buf); + else { + if (!file_can_print(c)) { + cmdq_error(item, "can't write to client"); + free(buf); + return (CMD_RETURN_ERROR); + } + file_print_buffer(c, buf, len); + file_print(c, "\n"); 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')) |