summaryrefslogtreecommitdiff
path: root/libguile/array-handle.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-02-09 20:56:55 +0100
committerAndy Wingo <wingo@pobox.com>2014-02-09 20:58:16 +0100
commit4e915304519abaabebb426c06984b83ac981b834 (patch)
treecda2b4842db752c489ece67f89f8da0f807acb49 /libguile/array-handle.c
parentd41d5bf05ecea7ac0bb30a501ba4801043991b63 (diff)
downloadguile-4e915304519abaabebb426c06984b83ac981b834.tar.gz
Simplify scm_array_get_handle for tc7-arrays
* libguile/array-handle.c (scm_array_get_handle): Simplify for the array case, as suggested by Daniel Llorens.
Diffstat (limited to 'libguile/array-handle.c')
-rw-r--r--libguile/array-handle.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/libguile/array-handle.c b/libguile/array-handle.c
index 84e9f88a1..2252ecc9a 100644
--- a/libguile/array-handle.c
+++ b/libguile/array-handle.c
@@ -231,21 +231,11 @@ scm_array_get_handle (SCM array, scm_t_array_handle *h)
}
break;
case scm_tc7_array:
+ scm_array_get_handle (SCM_I_ARRAY_V (array), h);
+ h->array = array;
h->base = SCM_I_ARRAY_BASE (array);
h->ndims = SCM_I_ARRAY_NDIM (array);
h->dims = SCM_I_ARRAY_DIMS (array);
- {
- scm_t_array_handle vh;
-
- scm_array_get_handle (SCM_I_ARRAY_V (array), &vh);
- h->element_type = vh.element_type;
- h->elements = vh.elements;
- h->writable_elements = vh.writable_elements;
- h->vector = vh.vector;
- h->vref = vh.vref;
- h->vset = vh.vset;
- scm_array_handle_release (&vh);
- }
break;
default:
scm_wrong_type_arg_msg (NULL, 0, array, "array");