summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--buf.c9
-rw-r--r--buf.h1
2 files changed, 7 insertions, 3 deletions
diff --git a/buf.c b/buf.c
index 6d3f1a04..b97bef41 100644
--- a/buf.c
+++ b/buf.c
@@ -102,10 +102,8 @@ val bufp(val object)
return tnil(type(object) == BUF);
}
-val make_borrowed_buf(val len, mem_t *data)
+val init_borrowed_buf(obj_t *obj, val len, mem_t *data)
{
- val obj = make_obj();
-
obj->b.type = BUF;
obj->b.data = data;
obj->b.len = len;
@@ -114,6 +112,11 @@ val make_borrowed_buf(val len, mem_t *data)
return obj;
}
+val make_borrowed_buf(val len, mem_t *data)
+{
+ return init_borrowed_buf(make_obj(), len, data);
+}
+
val make_duplicate_buf(val len, mem_t *data)
{
val obj = make_obj();
diff --git a/buf.h b/buf.h
index 28978472..ce06cf40 100644
--- a/buf.h
+++ b/buf.h
@@ -28,6 +28,7 @@
val make_buf(val len, val init_val, val alloc_size);
val bufp(val object);
val make_borrowed_buf(val len, mem_t *data);
+val init_borrowed_buf(obj_t *buf, val len, mem_t *data);
val make_duplicate_buf(val len, mem_t *data);
val buf_trim(val buf);
val buf_set_length(val obj, val len, val init_val);