mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-03 16:20:39 +02:00
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.
This commit is contained in:
parent
f1fcf88b1f
commit
8190effae2
7 changed files with 66 additions and 65 deletions
|
@ -32,8 +32,8 @@
|
|||
|
||||
struct scm_t_array_handle;
|
||||
|
||||
typedef SCM (*scm_i_t_array_ref) (struct scm_t_array_handle *, size_t);
|
||||
typedef void (*scm_i_t_array_set) (struct scm_t_array_handle *, size_t, SCM);
|
||||
typedef SCM (*scm_i_t_array_ref) (SCM, size_t);
|
||||
typedef void (*scm_i_t_array_set) (SCM, size_t, SCM);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -135,7 +135,7 @@ scm_array_handle_ref (scm_t_array_handle *h, ssize_t p)
|
|||
/* catch overflow */
|
||||
scm_out_of_range (NULL, scm_from_ssize_t (p));
|
||||
/* perhaps should catch overflow here too */
|
||||
return h->impl->vref (h, h->base + p);
|
||||
return h->impl->vref (h->array, h->base + p);
|
||||
}
|
||||
|
||||
SCM_INLINE_IMPLEMENTATION void
|
||||
|
@ -145,7 +145,7 @@ scm_array_handle_set (scm_t_array_handle *h, ssize_t p, SCM v)
|
|||
/* catch overflow */
|
||||
scm_out_of_range (NULL, scm_from_ssize_t (p));
|
||||
/* perhaps should catch overflow here too */
|
||||
h->impl->vset (h, h->base + p, v);
|
||||
h->impl->vset (h->array, h->base + p, v);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue