From ccba613e5b277e70e8261c04ecc37ff3ef14a217 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 7 Sep 2009 18:50:45 +0000 Subject: Give each paste buffer a size member instead of requiring them to be zero-terminated. --- window-copy.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'window-copy.c') diff --git a/window-copy.c b/window-copy.c index f102092c..bacd6ad9 100644 --- a/window-copy.c +++ b/window-copy.c @@ -849,13 +849,16 @@ window_copy_copy_selection(struct window_pane *wp, struct client *c) window_copy_copy_line(wp, &buf, &off, ey, 0, ex); } - /* Terminate buffer, overwriting final \n. */ - if (off != 0) - buf[off - 1] = '\0'; + /* Don't bother if no data. */ + if (off == 0) { + xfree(buf); + return; + } + off--; /* remove final \n */ /* Add the buffer to the stack. */ limit = options_get_number(&c->session->options, "buffer-limit"); - paste_add(&c->session->buffers, buf, limit); + paste_add(&c->session->buffers, buf, off, limit); } void -- cgit