summaryrefslogtreecommitdiffstats
path: root/buf.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-02-16 09:37:02 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-02-16 09:37:02 -0800
commit70ced4b3ae240e4f33d26196ec1df8b6e8d0ae9b (patch)
tree626e08a45d2757cb8cc34bc1f6cf967ee15e1d30 /buf.c
parenta6c72d88711c2fc537c6f8ca205a5fd2675d8952 (diff)
downloadtxr-70ced4b3ae240e4f33d26196ec1df8b6e8d0ae9b.tar.gz
txr-70ced4b3ae240e4f33d26196ec1df8b6e8d0ae9b.tar.bz2
txr-70ced4b3ae240e4f33d26196ec1df8b6e8d0ae9b.zip
buf-alloc-size: new function.
* buf.c (buf_alloc_size): New function. (buf_init): buf-alloc-size intrinsic registered. * buf.h (buf_alloc_size): Declared. * txr.1: Documented.
Diffstat (limited to 'buf.c')
-rw-r--r--buf.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/buf.c b/buf.c
index a5d3abc6..14b89a2a 100644
--- a/buf.c
+++ b/buf.c
@@ -220,6 +220,13 @@ val length_buf(val buf)
return b->len;
}
+val buf_alloc_size(val buf)
+{
+ val self = lit("buf-alloc-size");
+ struct buf *b = buf_handle(buf, self);
+ return b->size;
+}
+
mem_t *buf_get(val buf, val self)
{
struct buf *b = buf_handle(buf, self);
@@ -943,6 +950,7 @@ void buf_init(void)
reg_fun(intern(lit("buf-trim"), user_package), func_n1(buf_trim));
reg_fun(intern(lit("buf-set-length"), user_package), func_n3o(buf_set_length, 2));
reg_fun(intern(lit("length-buf"), user_package), func_n1(length_buf));
+ reg_fun(intern(lit("buf-alloc-size"), user_package), func_n1(buf_alloc_size));
reg_fun(intern(lit("copy-buf"), user_package), func_n1(copy_buf));
#if HAVE_I8