From: Ian Jackson Date: Wed, 1 Oct 2014 17:00:00 +0000 (+0100) Subject: buffer: Provide buffer_destroy X-Git-Tag: base.ipv6-polypath-fixes.v1~27 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=commitdiff_plain;h=46d06c3918b0080af7e87db986612e23bde4a341 buffer: Provide buffer_destroy Signed-off-by: Ian Jackson --- diff --git a/util.c b/util.c index 0f24282..0215f25 100644 --- a/util.c +++ b/util.c @@ -291,6 +291,14 @@ void buffer_init(struct buffer_if *buffer, int32_t max_start_pad) buffer->size=0; } +void buffer_destroy(struct buffer_if *buf) +{ + BUF_ASSERT_FREE(buf); + free(buf->base); + buf->start=buf->base=0; + buf->size=buf->alloclen=0; +} + void *buf_append(struct buffer_if *buf, int32_t amount) { void *p; assert(amount <= buf_remaining_space(buf)); diff --git a/util.h b/util.h index a5a82a4..3549eb0 100644 --- a/util.h +++ b/util.h @@ -23,6 +23,7 @@ extern void buffer_assert_used(struct buffer_if *buffer, cstring_t file, int line); extern void buffer_new(struct buffer_if *buffer, int32_t len); extern void buffer_init(struct buffer_if *buffer, int32_t max_start_pad); +extern void buffer_destroy(struct buffer_if *buffer); extern void buffer_copy(struct buffer_if *dst, const struct buffer_if *src); extern void *buf_append(struct buffer_if *buf, int32_t amount); extern void *buf_prepend(struct buffer_if *buf, int32_t amount);