diff options
author | Tiago Cunha <tcunha@gmx.com> | 2009-09-07 23:48:54 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2009-09-07 23:48:54 +0000 |
commit | c272de7cbafa343f0e2fc25beb66ed0b924f336f (patch) | |
tree | e44e3f1cc979078b853a0dd84a994b82128556f5 /window-copy.c | |
parent | 5edc4658028b47d975f8685be63f5876a12a3a4f (diff) | |
download | rtmux-c272de7cbafa343f0e2fc25beb66ed0b924f336f.tar.gz rtmux-c272de7cbafa343f0e2fc25beb66ed0b924f336f.tar.bz2 rtmux-c272de7cbafa343f0e2fc25beb66ed0b924f336f.zip |
Sync OpenBSD patchset 318:
Give each paste buffer a size member instead of requiring them to be
zero-terminated.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/window-copy.c b/window-copy.c index a7aa8f4c..bafdaf75 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1,4 +1,4 @@ -/* $Id: window-copy.c,v 1.84 2009-08-21 21:12:07 tcunha Exp $ */ +/* $Id: window-copy.c,v 1.85 2009-09-07 23:48:54 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -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 |