summaryrefslogtreecommitdiff
path: root/libguile/bitvectors.c
diff options
context:
space:
mode:
authorDaniel Llorens <daniel.llorens@bluewin.ch>2013-04-19 13:43:30 +0200
committerAndy Wingo <wingo@pobox.com>2014-01-27 21:45:54 +0100
commit8190effae22e1ad1086fb0cae429ae42ff6f761d (patch)
tree7e634b863538a22c17454e883c90e30e94cf2e2c /libguile/bitvectors.c
parentf1fcf88b1f2c7955bda03b5243b904ba16f79b71 (diff)
downloadguile-8190effae22e1ad1086fb0cae429ae42ff6f761d.tar.gz
Have array impl->vref, vset take SCM, not handles
* libguile/array-handle.h - scm_i_t_array_ref, scm_i_t_array_set take SCM. - scm_array_handle_ref, scm_array_handle_set: pass h->array. * libguile/array-map.c - AREF, ASET, rafill, racp, ramap, rafe: pass storage vector SCM instead of handle. * libguile/bitvector.c - bitvector_handle_ref, bitvector_handle_set_x: take bitvector arg. * libguile/bytevectors.c - bv_handle_ref, bv_handle_set_x: take bytevector arg. - scm_i_print_bytevectors: don't use array handles. * libguile/deprecated.c - scm_generalized_vector_to_list: pass h.array. * libguile/strings.c - string_handle_ref, string_handle_set: take string arg. * libguile/uniform.c - scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x: pass h.array. * libguile/vectors.c - vector_handle_ref, vector_handle_set: take vector arg.
Diffstat (limited to 'libguile/bitvectors.c')
-rw-r--r--libguile/bitvectors.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libguile/bitvectors.c b/libguile/bitvectors.c
index 2d36110d4..3a88731b2 100644
--- a/libguile/bitvectors.c
+++ b/libguile/bitvectors.c
@@ -845,24 +845,25 @@ scm_istr2bve (SCM str)
goto exit;
}
}
-
+
exit:
scm_array_handle_release (&handle);
scm_remember_upto_here_1 (str);
return res;
}
-/* FIXME: h->array should be h->vector */
+/* FIXME: We know that bitvector is such, so can skip the checks in
+ scm_c_bitvector_... */
static SCM
-bitvector_handle_ref (scm_t_array_handle *h, size_t pos)
+bitvector_handle_ref (SCM bitvector, size_t pos)
{
- return scm_c_bitvector_ref (h->array, pos);
+ return scm_c_bitvector_ref (bitvector, pos);
}
static void
-bitvector_handle_set (scm_t_array_handle *h, size_t pos, SCM val)
+bitvector_handle_set (SCM bitvector, size_t pos, SCM val)
{
- scm_c_bitvector_set_x (h->array, pos, val);
+ scm_c_bitvector_set_x (bitvector, pos, val);
}
static void