diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-06-18 09:31:07 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-06-18 09:31:07 +0100 |
commit | 77f582ff137808cc3743ad545f63422cc8e71a71 (patch) | |
tree | 5737aa67c96dcd11d3474989889189732e374900 /cmd-capture-pane.c | |
parent | f5973b77763e3f8da8e8f6483464f6f4bc2f3981 (diff) | |
parent | 92af7f5901bd944e385e7fdbe8696b2c911ed776 (diff) | |
download | rtmux-77f582ff137808cc3743ad545f63422cc8e71a71.tar.gz rtmux-77f582ff137808cc3743ad545f63422cc8e71a71.tar.bz2 rtmux-77f582ff137808cc3743ad545f63422cc8e71a71.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'cmd-capture-pane.c')
-rw-r--r-- | cmd-capture-pane.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c index 49614632..bbaf70cd 100644 --- a/cmd-capture-pane.c +++ b/cmd-capture-pane.c @@ -38,7 +38,7 @@ char *cmd_capture_pane_history(struct args *, struct cmd_q *, const struct cmd_entry cmd_capture_pane_entry = { "capture-pane", "capturep", "ab:CeE:JpPqS:t:", 0, 0, - "[-aCeJpPq] [-b buffer-index] [-E end-line] [-S start-line]" + "[-aCeJpPq] " CMD_BUFFER_USAGE " [-E end-line] [-S start-line]" CMD_TARGET_PANE_USAGE, 0, NULL, @@ -165,8 +165,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_q *cmdq) struct client *c; struct window_pane *wp; char *buf, *cause; - int buffer; - u_int limit; + const char *bufname; size_t len; if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) @@ -192,23 +191,15 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_q *cmdq) evbuffer_add(c->stdout_data, "\n", 1); server_push_stdout(c); } else { - limit = options_get_number(&global_options, "buffer-limit"); - if (!args_has(args, 'b')) { - paste_add(buf, len, limit); - return (CMD_RETURN_NORMAL); - } - buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause); - if (cause != NULL) { - cmdq_error(cmdq, "buffer %s", cause); - free(buf); - free(cause); - return (CMD_RETURN_ERROR); - } + bufname = NULL; + if (args_has(args, 'b')) + bufname = args_get(args, 'b'); - if (paste_replace(buffer, buf, len) != 0) { - cmdq_error(cmdq, "no buffer %d", buffer); + if (paste_set(buf, len, bufname, &cause) != 0) { + cmdq_error(cmdq, "%s", cause); free(buf); + free(cause); return (CMD_RETURN_ERROR); } } |