commit b4deea82b43b5592af425de3d4c680882cb869ca
parent a74fffe40c7d8e0a04d0fa76becd16dcba710927
Author: Joris Vink <joris@coders.se>
Date: Wed, 5 Jun 2013 11:27:03 +0200
add kore_buf_appendb() which allows us to append a kore_buf to another one.
(releases the kore_buf that is being appended while at it).
Diffstat:
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/includes/kore.h b/includes/kore.h
@@ -181,6 +181,7 @@ void kore_buf_append(struct kore_buf *, u_int8_t *, u_int32_t);
u_int8_t *kore_buf_release(struct kore_buf *, u_int32_t *);
void kore_buf_appendf(struct kore_buf *, const char *, ...);
void kore_buf_appendv(struct kore_buf *, struct buf_vec *, u_int16_t);
+void kore_buf_appendb(struct kore_buf *, struct kore_buf *);
struct spdy_header_block *spdy_header_block_create(int);
struct spdy_stream *spdy_stream_lookup(struct connection *, u_int32_t);
diff --git a/src/buf.c b/src/buf.c
@@ -63,6 +63,16 @@ kore_buf_append(struct kore_buf *buf, u_int8_t *d, u_int32_t len)
}
void
+kore_buf_appendb(struct kore_buf *buf, struct kore_buf *src)
+{
+ u_int8_t *d;
+ u_int32_t len;
+
+ d = kore_buf_release(src, &len);
+ kore_buf_append(buf, d, len);
+}
+
+void
kore_buf_appendv(struct kore_buf *buf, struct buf_vec *v, u_int16_t count)
{
u_int16_t i;