summaryrefslogtreecommitdiff
path: root/libguile/srfi-4.i.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-10-27 19:25:14 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-10-27 19:25:14 +0000
commitfaa00365939c4f311bac3d7f634bcc39ff0e6a61 (patch)
treed15fa3206bd687260e06644c48a7d751a1128768 /libguile/srfi-4.i.c
parent2a7bd7383309b3beb7f31a24e94844589a48380d (diff)
downloadguile-faa00365939c4f311bac3d7f634bcc39ff0e6a61.tar.gz
* srfi-4.c (take_uvec): New.
(alloc_uvec): Use it. * srfi-4.h, srfi-4.i.c (scm_take_u8vector, etc): New.
Diffstat (limited to 'libguile/srfi-4.i.c')
-rw-r--r--libguile/srfi-4.i.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libguile/srfi-4.i.c b/libguile/srfi-4.i.c
index 48cc29eae..1df4c3651 100644
--- a/libguile/srfi-4.i.c
+++ b/libguile/srfi-4.i.c
@@ -53,6 +53,14 @@ SCM_DEFINE (F(scm_make_,TAG,vector), "make-"S(TAG)"vector", 1, 1, 0,
}
#undef FUNC_NAME
+SCM
+F(scm_take_,TAG,vector) (const CTYPE *data, size_t n)
+{
+ scm_gc_register_collectable_memory ((void *)data, n*sizeof(CTYPE),
+ uvec_names[TYPE]);
+ return take_uvec (TYPE, data, n);
+}
+
SCM_DEFINE (F(scm_,TAG,vector), S(TAG)"vector", 0, 0, 1,
(SCM l),
"Return a newly allocated homogeneous numeric vector containing\n"