From 3b665789a2db2f951064504d44c411e4338afb9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sun, 12 Jan 2003 21:05:51 +0100
Subject: [PATCH] (nettle_buffer_reset): New function. (nettle_buffer_copy):
 New function.

Rev: src/nettle/buffer.c:1.5
Rev: src/nettle/buffer.h:1.4
---
 buffer.c | 13 +++++++++++++
 buffer.h |  9 +++++++++
 2 files changed, 22 insertions(+)

diff --git a/buffer.c b/buffer.c
index e61b471f..c311d282 100644
--- a/buffer.c
+++ b/buffer.c
@@ -76,6 +76,12 @@ nettle_buffer_clear(struct nettle_buffer *buffer)
   buffer->size = 0;
 }
 
+void
+nettle_buffer_reset(struct nettle_buffer *buffer)
+{
+  buffer->size = 0;
+}
+
 uint8_t *
 nettle_buffer_space(struct nettle_buffer *buffer,
 		    unsigned length)
@@ -103,3 +109,10 @@ nettle_buffer_write(struct nettle_buffer *buffer,
   else
     return 0;
 }
+
+int
+nettle_buffer_copy(struct nettle_buffer *dst,
+		   const struct nettle_buffer *src)
+{
+  nettle_buffer_write(dst, src->size, src->contents);
+}
diff --git a/buffer.h b/buffer.h
index c153839e..f10f9693 100644
--- a/buffer.h
+++ b/buffer.h
@@ -53,6 +53,10 @@ nettle_buffer_init_size(struct nettle_buffer *buffer,
 void
 nettle_buffer_clear(struct nettle_buffer *buffer);
 
+/* Resets the buffer, without freeing the buffer space. */
+void
+nettle_buffer_reset(struct nettle_buffer *buffer);
+
 int
 nettle_buffer_grow(struct nettle_buffer *buffer,
 		   unsigned length);
@@ -73,4 +77,9 @@ uint8_t *
 nettle_buffer_space(struct nettle_buffer *buffer,
 		    unsigned length);
 
+/* Copy the contents of SRC to the end of DST. */
+int
+nettle_buffer_copy(struct nettle_buffer *dst,
+		   const struct nettle_buffer *src);
+
 #endif /* NETTLE_BUFFER_H_INCLUDED */
-- 
GitLab