summaryrefslogtreecommitdiffstats
path: root/paste.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-09-07 18:50:45 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-09-07 18:50:45 +0000
commitccba613e5b277e70e8261c04ecc37ff3ef14a217 (patch)
tree26ed2fcf88ae87e4e76e922df255e4fd62589e31 /paste.c
parente97006b102dd274dd8cc70c2aee13f6b09f69a41 (diff)
Give each paste buffer a size member instead of requiring them to be
zero-terminated.
Diffstat (limited to 'paste.c')
-rw-r--r--paste.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/paste.c b/paste.c
index 82fa0939..f78c0241 100644
--- a/paste.c
+++ b/paste.c
@@ -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");