=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-capture-pane.c,v retrieving revision 1.26 retrieving revision 1.27 diff -c -r1.26 -r1.27 *** src/usr.bin/tmux/cmd-capture-pane.c 2014/04/24 09:14:43 1.26 --- src/usr.bin/tmux/cmd-capture-pane.c 2014/05/13 07:34:35 1.27 *************** *** 1,4 **** ! /* $OpenBSD: cmd-capture-pane.c,v 1.26 2014/04/24 09:14:43 nicm Exp $ */ /* * Copyright (c) 2009 Jonathan Alvarado --- 1,4 ---- ! /* $OpenBSD: cmd-capture-pane.c,v 1.27 2014/05/13 07:34:35 nicm Exp $ */ /* * Copyright (c) 2009 Jonathan Alvarado *************** *** 38,44 **** 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]" CMD_TARGET_PANE_USAGE, 0, NULL, --- 38,44 ---- const struct cmd_entry cmd_capture_pane_entry = { "capture-pane", "capturep", "ab:CeE:JpPqS:t:", 0, 0, ! "[-aCeJpPq] " CMD_BUFFER_USAGE " [-E end-line] [-S start-line]" CMD_TARGET_PANE_USAGE, 0, NULL, *************** *** 165,172 **** struct client *c; struct window_pane *wp; char *buf, *cause; ! int buffer; ! u_int limit; size_t len; if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) --- 165,171 ---- struct client *c; struct window_pane *wp; char *buf, *cause; ! const char *bufname; size_t len; if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) *************** *** 192,214 **** 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); ! } ! if (paste_replace(buffer, buf, len) != 0) { ! cmdq_error(cmdq, "no buffer %d", buffer); free(buf); return (CMD_RETURN_ERROR); } } --- 191,205 ---- evbuffer_add(c->stdout_data, "\n", 1); server_push_stdout(c); } else { ! bufname = NULL; ! if (args_has(args, 'b')) ! bufname = args_get(args, 'b'); ! if (paste_set(buf, len, bufname, &cause) != 0) { ! cmdq_error(cmdq, "%s", cause); free(buf); + free(cause); return (CMD_RETURN_ERROR); } }