version 1.5, 2009/07/26 12:58:44 |
version 1.6, 2009/09/07 18:50:45 |
|
|
{ |
{ |
struct cmd_buffer_data *data = self->data; |
struct cmd_buffer_data *data = self->data; |
struct winlink *wl; |
struct winlink *wl; |
struct window *w; |
struct window_pane *wp; |
struct session *s; |
struct session *s; |
struct paste_buffer *pb; |
struct paste_buffer *pb; |
|
|
if ((wl = cmd_find_window(ctx, data->target, &s)) == NULL) |
if ((wl = cmd_find_window(ctx, data->target, &s)) == NULL) |
return (-1); |
return (-1); |
w = wl->window; |
wp = wl->window->active; |
|
|
if (data->buffer == -1) |
if (data->buffer == -1) |
pb = paste_get_top(&s->buffers); |
pb = paste_get_top(&s->buffers); |
|
|
|
|
if (pb != NULL && *pb->data != '\0') { |
if (pb != NULL && *pb->data != '\0') { |
/* -r means raw data without LF->CR conversion. */ |
/* -r means raw data without LF->CR conversion. */ |
if (data->chflags & CMD_CHFLAG('r')) { |
if (data->chflags & CMD_CHFLAG('r')) |
buffer_write( |
buffer_write(wp->out, pb->data, pb->size); |
w->active->out, pb->data, strlen(pb->data)); |
else |
} else { |
cmd_paste_buffer_lf2cr(wp->out, pb->data, pb->size); |
cmd_paste_buffer_lf2cr( |
|
w->active->out, pb->data, strlen(pb->data)); |
|
} |
|
} |
} |
|
|
/* Delete the buffer if -d. */ |
/* Delete the buffer if -d. */ |