summaryrefslogtreecommitdiff
path: root/libguile/strings.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/strings.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/strings.c')
-rw-r--r--libguile/strings.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libguile/strings.c b/libguile/strings.c
index 9aa6a2180..3952b205d 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -2459,17 +2459,19 @@ scm_i_get_substring_spec (size_t len,
else
*cend = scm_to_unsigned_integer (end, *cstart, len);
}
-
+
+/* FIXME: We know that bitvector is such, so can skip the checks in
+ scm_c_string_... */
static SCM
-string_handle_ref (scm_t_array_handle *h, size_t index)
+string_handle_ref (SCM string, size_t index)
{
- return scm_c_string_ref (h->array, index);
+ return scm_c_string_ref (string, index);
}
static void
-string_handle_set (scm_t_array_handle *h, size_t index, SCM val)
+string_handle_set (SCM string, size_t index, SCM val)
{
- scm_c_string_set_x (h->array, index, val);
+ scm_c_string_set_x (string, index, val);
}
static void