diff options
author | Daniel Llorens <daniel.llorens@bluewin.ch> | 2013-04-10 13:48:13 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-01-27 21:45:17 +0100 |
commit | aaeb4e5bfba2782215eb408fe68874bc1fdbf471 (patch) | |
tree | 327875d8bc34f89a167763d1c27dc10c287415e6 | |
parent | e0c58a504224b48c44161387aabd036a3ce4a1dd (diff) | |
download | guile-aaeb4e5bfba2782215eb408fe68874bc1fdbf471.tar.gz |
Don't use scm_is_generalized_vector in shared-array-root
* libguile/arrays.c: (scm_shared_array_root): replace check for
scm_is_generalized_vector.
-rw-r--r-- | libguile/arrays.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libguile/arrays.c b/libguile/arrays.c index 2ade884f3..ff67381ed 100644 --- a/libguile/arrays.c +++ b/libguile/arrays.c @@ -60,21 +60,22 @@ (SCM_SET_CELL_WORD_0 ((x), SCM_CELL_WORD_0 (x) & ~(SCM_I_ARRAY_FLAG_CONTIGUOUS << 16))) -SCM_DEFINE (scm_shared_array_root, "shared-array-root", 1, 0, 0, +SCM_DEFINE (scm_shared_array_root, "shared-array-root", 1, 0, 0, (SCM ra), "Return the root vector of a shared array.") #define FUNC_NAME s_scm_shared_array_root { - if (SCM_I_ARRAYP (ra)) + if (!scm_is_array (ra)) + scm_wrong_type_arg_msg (FUNC_NAME, SCM_ARG1, ra, "array"); + else if (SCM_I_ARRAYP (ra)) return SCM_I_ARRAY_V (ra); - else if (scm_is_generalized_vector (ra)) + else return ra; - scm_wrong_type_arg_msg (FUNC_NAME, SCM_ARG1, ra, "array"); } #undef FUNC_NAME -SCM_DEFINE (scm_shared_array_offset, "shared-array-offset", 1, 0, 0, +SCM_DEFINE (scm_shared_array_offset, "shared-array-offset", 1, 0, 0, (SCM ra), "Return the root vector index of the first element in the array.") #define FUNC_NAME s_scm_shared_array_offset |