add blob_buf_free
authorFelix Fietkau <nbd@openwrt.org>
Fri, 29 Jul 2011 17:38:30 +0000 (19:38 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 29 Jul 2011 17:38:30 +0000 (19:38 +0200)
blob.c
blob.h

diff --git a/blob.c b/blob.c
index 003192ea6450d6733e79330eaf24fa574689b8f4..3929ad325012c38038831f8da43b1c72efac060d 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -80,6 +80,14 @@ blob_buf_init(struct blob_buf *buf, int id)
        return 0;
 }
 
+void
+blob_buf_free(struct blob_buf *buf)
+{
+       free(buf->buf);
+       buf->buf = NULL;
+       buf->buflen = 0;
+}
+
 struct blob_attr *
 blob_new(struct blob_buf *buf, int id, int payload)
 {
diff --git a/blob.h b/blob.h
index 201f508528293e4132dd3e4a8a3be49b4340133c..6e73093b146f3ab197ace1a0336b269666e5ef83 100644 (file)
--- a/blob.h
+++ b/blob.h
@@ -214,6 +214,7 @@ blob_next(const struct blob_attr *attr)
 }
 
 extern int blob_buf_init(struct blob_buf *buf, int id);
+extern void blob_buf_free(struct blob_buf *buf);
 extern struct blob_attr *blob_new(struct blob_buf *buf, int id, int payload);
 extern void *blob_nest_start(struct blob_buf *buf, int id);
 extern void blob_nest_end(struct blob_buf *buf, void *cookie);