=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-paste-buffer.c,v retrieving revision 1.24 retrieving revision 1.25 diff -c -r1.24 -r1.25 *** src/usr.bin/tmux/cmd-paste-buffer.c 2014/04/24 09:14:43 1.24 --- src/usr.bin/tmux/cmd-paste-buffer.c 2014/05/13 07:34:35 1.25 *************** *** 1,4 **** ! /* $OpenBSD: cmd-paste-buffer.c,v 1.24 2014/04/24 09:14:43 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-paste-buffer.c,v 1.25 2014/05/13 07:34:35 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 36,42 **** 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, 0, NULL, cmd_paste_buffer_exec --- 36,42 ---- const struct cmd_entry cmd_paste_buffer_entry = { "paste-buffer", "pasteb", "db:prs:t:", 0, 0, ! "[-dpr] [-s separator] " CMD_BUFFER_USAGE " " CMD_TARGET_PANE_USAGE, 0, NULL, cmd_paste_buffer_exec *************** *** 49,79 **** struct window_pane *wp; struct session *s; struct paste_buffer *pb; ! const char *sepstr; ! char *cause; ! int buffer; 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); ! } ! } ! if (buffer == -1) pb = paste_get_top(); else { ! pb = paste_get_index(buffer); if (pb == NULL) { ! cmdq_error(cmdq, "no buffer %d", buffer); return (CMD_RETURN_ERROR); } } --- 49,70 ---- struct window_pane *wp; struct session *s; struct paste_buffer *pb; ! const char *sepstr, *bufname; int pflag; if (cmd_find_pane(cmdq, args_get(args, 't'), &s, &wp) == NULL) return (CMD_RETURN_ERROR); ! bufname = NULL; ! if (args_has(args, 'b')) ! bufname = args_get(args, 'b'); ! if (bufname == NULL) pb = paste_get_top(); else { ! pb = paste_get_name(bufname); if (pb == NULL) { ! cmdq_error(cmdq, "no buffer %s", bufname); return (CMD_RETURN_ERROR); } } *************** *** 92,101 **** /* Delete the buffer if -d. */ if (args_has(args, 'd')) { ! if (buffer == -1) paste_free_top(); else ! paste_free_index(buffer); } return (CMD_RETURN_NORMAL); --- 83,92 ---- /* Delete the buffer if -d. */ if (args_has(args, 'd')) { ! if (bufname == NULL) paste_free_top(); else ! paste_free_name(bufname); } return (CMD_RETURN_NORMAL);