=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/Attic/cmd-choose-buffer.c,v retrieving revision 1.10 retrieving revision 1.11 diff -c -r1.10 -r1.11 *** src/usr.bin/tmux/Attic/cmd-choose-buffer.c 2012/08/14 08:51:53 1.10 --- src/usr.bin/tmux/Attic/cmd-choose-buffer.c 2013/03/21 16:08:24 1.11 *************** *** 1,4 **** ! /* $OpenBSD: cmd-choose-buffer.c,v 1.10 2012/08/14 08:51:53 nicm Exp $ */ /* * Copyright (c) 2010 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-choose-buffer.c,v 1.11 2013/03/21 16:08:24 nicm Exp $ */ /* * Copyright (c) 2010 Nicholas Marriott *************** *** 29,37 **** enum cmd_retval cmd_choose_buffer_exec(struct cmd *, struct cmd_ctx *); - void cmd_choose_buffer_callback(struct window_choose_data *); - void cmd_choose_buffer_free(struct window_choose_data *); - const struct cmd_entry cmd_choose_buffer_entry = { "choose-buffer", NULL, "F:t:", 0, 1, --- 29,34 ---- *************** *** 46,51 **** --- 43,49 ---- cmd_choose_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) { struct args *args = self->args; + struct client *c; struct window_choose_data *cdata; struct winlink *wl; struct paste_buffer *pb; *************** *** 57,62 **** --- 55,61 ---- ctx->error(ctx, "must be run interactively"); return (CMD_RETURN_ERROR); } + c = ctx->curclient; if ((template = args_get(args, 'F')) == NULL) template = CHOOSE_BUFFER_TEMPLATE; *************** *** 77,85 **** idx = 0; while ((pb = paste_walk_stack(&global_buffers, &idx)) != NULL) { ! cdata = window_choose_data_create(ctx); cdata->idx = idx - 1; - cdata->client->references++; cdata->ft_template = xstrdup(template); format_add(cdata->ft, "line", "%u", idx - 1); --- 76,83 ---- idx = 0; while ((pb = paste_walk_stack(&global_buffers, &idx)) != NULL) { ! cdata = window_choose_data_create(TREE_OTHER, c, c->session); cdata->idx = idx - 1; cdata->ft_template = xstrdup(template); format_add(cdata->ft, "line", "%u", idx - 1); *************** *** 93,126 **** } free(action); ! window_choose_ready(wl->window->active, ! 0, cmd_choose_buffer_callback, cmd_choose_buffer_free); return (CMD_RETURN_NORMAL); - } - - void - cmd_choose_buffer_callback(struct window_choose_data *cdata) - { - if (cdata == NULL) - return; - if (cdata->client->flags & CLIENT_DEAD) - return; - - window_choose_ctx(cdata); - } - - void - cmd_choose_buffer_free(struct window_choose_data *data) - { - struct window_choose_data *cdata = data; - - if (cdata == NULL) - return; - - cdata->client->references--; - - free(cdata->command); - free(cdata->ft_template); - free(cdata); } --- 91,97 ---- } free(action); ! window_choose_ready(wl->window->active, 0, NULL, NULL); return (CMD_RETURN_NORMAL); }