diff options
author | Thomas Adam <thomas@xteddy.org> | 2014-05-13 21:58:48 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2014-05-13 21:58:48 +0100 |
commit | bae95844d75b257c61cd0ef57b1d826bdca09032 (patch) | |
tree | e2547df0ea03a6f686ac0cf7500bed3d00994ad2 /cmd-paste-buffer.c | |
parent | ea5a223a2e8901fa9afa991d147751d8a6789443 (diff) | |
parent | b3e8d440ed0477e88232c3ba1779c67eafce3a48 (diff) | |
download | rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.gz rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.bz2 rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.zip |
Merge branch 'obsd-master'
Conflicts:
format.c
window.c
Diffstat (limited to 'cmd-paste-buffer.c')
-rw-r--r-- | cmd-paste-buffer.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/cmd-paste-buffer.c b/cmd-paste-buffer.c index 4bc2cfda..f6c9d0ad 100644 --- a/cmd-paste-buffer.c +++ b/cmd-paste-buffer.c @@ -35,7 +35,7 @@ void cmd_paste_buffer_filter(struct window_pane *, const struct cmd_entry cmd_paste_buffer_entry = { "paste-buffer", "pasteb", "db:prs:t:", 0, 0, - "[-dpr] [-s separator] [-b buffer-index] " CMD_TARGET_PANE_USAGE, + "[-dpr] [-s separator] " CMD_BUFFER_USAGE " " CMD_TARGET_PANE_USAGE, 0, NULL, cmd_paste_buffer_exec @@ -48,31 +48,22 @@ cmd_paste_buffer_exec(struct cmd *self, struct cmd_q *cmdq) struct window_pane *wp; struct session *s; struct paste_buffer *pb; - const char *sepstr; - char *cause; - int buffer; + const char *sepstr, *bufname; int pflag; if (cmd_find_pane(cmdq, args_get(args, 't'), &s, &wp) == NULL) return (CMD_RETURN_ERROR); - if (!args_has(args, 'b')) - buffer = -1; - else { - buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause); - if (cause != NULL) { - cmdq_error(cmdq, "buffer %s", cause); - free(cause); - return (CMD_RETURN_ERROR); - } - } + bufname = NULL; + if (args_has(args, 'b')) + bufname = args_get(args, 'b'); - if (buffer == -1) + if (bufname == NULL) pb = paste_get_top(); else { - pb = paste_get_index(buffer); + pb = paste_get_name(bufname); if (pb == NULL) { - cmdq_error(cmdq, "no buffer %d", buffer); + cmdq_error(cmdq, "no buffer %s", bufname); return (CMD_RETURN_ERROR); } } @@ -91,10 +82,10 @@ cmd_paste_buffer_exec(struct cmd *self, struct cmd_q *cmdq) /* Delete the buffer if -d. */ if (args_has(args, 'd')) { - if (buffer == -1) + if (bufname == NULL) paste_free_top(); else - paste_free_index(buffer); + paste_free_name(bufname); } return (CMD_RETURN_NORMAL); |