summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/paste.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2009-09-07 18:50:45 +0000
committernicm <nicm@openbsd.org>2009-09-07 18:50:45 +0000
commit1937104be15fbee565b8143bc2889ecd6b6206ac (patch)
treec627be8f36c02b47bb03757dd3c5d8627a7c1bd5 /usr.bin/tmux/paste.c
parentsync (diff)
downloadwireguard-openbsd-1937104be15fbee565b8143bc2889ecd6b6206ac.tar.xz
wireguard-openbsd-1937104be15fbee565b8143bc2889ecd6b6206ac.zip
Give each paste buffer a size member instead of requiring them to be
zero-terminated.
Diffstat (limited to 'usr.bin/tmux/paste.c')
-rw-r--r--usr.bin/tmux/paste.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.bin/tmux/paste.c b/usr.bin/tmux/paste.c
index c9ef68ac81f..e995a1f4869 100644
--- a/usr.bin/tmux/paste.c
+++ b/usr.bin/tmux/paste.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: paste.c,v 1.3 2009/07/30 20:50:54 nicm Exp $ */
+/* $OpenBSD: paste.c,v 1.4 2009/09/07 18:50:45 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -97,7 +97,7 @@ paste_free_index(struct paste_stack *ps, u_int idx)
}
void
-paste_add(struct paste_stack *ps, char *data, u_int limit)
+paste_add(struct paste_stack *ps, u_char *data, size_t size, u_int limit)
{
struct paste_buffer *pb;
@@ -115,12 +115,13 @@ paste_add(struct paste_stack *ps, char *data, u_int limit)
ARRAY_INSERT(ps, 0, pb);
pb->data = data;
+ pb->size = size;
if (gettimeofday(&pb->tv, NULL) != 0)
fatal("gettimeofday");
}
int
-paste_replace(struct paste_stack *ps, u_int idx, char *data)
+paste_replace(struct paste_stack *ps, u_int idx, u_char *data, size_t size)
{
struct paste_buffer *pb;
@@ -131,6 +132,7 @@ paste_replace(struct paste_stack *ps, u_int idx, char *data)
xfree(pb->data);
pb->data = data;
+ pb->size = size;
if (gettimeofday(&pb->tv, NULL) != 0)
fatal("gettimeofday");