diff options
author | Daniel Llorens <daniel.llorens@bluewin.ch> | 2013-04-19 13:43:30 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-01-27 21:45:54 +0100 |
commit | 8190effae22e1ad1086fb0cae429ae42ff6f761d (patch) | |
tree | 7e634b863538a22c17454e883c90e30e94cf2e2c /libguile/strings.c | |
parent | f1fcf88b1f2c7955bda03b5243b904ba16f79b71 (diff) | |
download | guile-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.c | 12 |
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 |