summaryrefslogtreecommitdiffstats
path: root/paste.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2009-09-07 23:48:54 +0000
committerTiago Cunha <tcunha@gmx.com>2009-09-07 23:48:54 +0000
commitc272de7cbafa343f0e2fc25beb66ed0b924f336f (patch)
treee44e3f1cc979078b853a0dd84a994b82128556f5 /paste.c
parent5edc4658028b47d975f8685be63f5876a12a3a4f (diff)
Sync OpenBSD patchset 318:
Give each paste buffer a size member instead of requiring them to be zero-terminated.
Diffstat (limited to 'paste.c')
-rw-r--r--paste.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/paste.c b/paste.c
index 80367ff2..9e41ce54 100644
--- a/paste.c
+++ b/paste.c
@@ -1,4 +1,4 @@
-/* $Id: paste.c,v 1.8 2009-07-31 20:33:49 tcunha Exp $ */
+/* $Id: paste.c,v 1.9 2009-09-07 23:48:54 tcunha 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");