mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Reuse SCM_ASSERT_RANGE in scm_c_vector_ref, scm_c_vector_set_x
This commit is contained in:
parent
82d8f025b1
commit
4636eb2263
1 changed files with 4 additions and 14 deletions
|
@ -162,10 +162,7 @@ scm_c_vector_ref (SCM v, size_t k)
|
||||||
#define FUNC_NAME s_scm_vector_ref
|
#define FUNC_NAME s_scm_vector_ref
|
||||||
{
|
{
|
||||||
SCM_VALIDATE_VECTOR (1, v);
|
SCM_VALIDATE_VECTOR (1, v);
|
||||||
|
SCM_ASSERT_RANGE (2, scm_from_size_t (k), k < SCM_I_VECTOR_LENGTH (v));
|
||||||
if (k >= SCM_I_VECTOR_LENGTH (v))
|
|
||||||
scm_out_of_range (NULL, scm_from_size_t (k));
|
|
||||||
|
|
||||||
return SCM_VECTOR_REF (v, k);
|
return SCM_VECTOR_REF (v, k);
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
@ -193,10 +190,7 @@ scm_c_vector_set_x (SCM v, size_t k, SCM obj)
|
||||||
#define FUNC_NAME s_scm_vector_set_x
|
#define FUNC_NAME s_scm_vector_set_x
|
||||||
{
|
{
|
||||||
SCM_VALIDATE_MUTABLE_VECTOR (1, v);
|
SCM_VALIDATE_MUTABLE_VECTOR (1, v);
|
||||||
|
SCM_ASSERT_RANGE (2, scm_from_size_t (k), k < SCM_I_VECTOR_LENGTH (v));
|
||||||
if (k >= SCM_I_VECTOR_LENGTH (v))
|
|
||||||
scm_out_of_range (NULL, scm_from_size_t (k));
|
|
||||||
|
|
||||||
SCM_VECTOR_SET (v, k, obj);
|
SCM_VECTOR_SET (v, k, obj);
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
@ -228,13 +222,9 @@ SCM
|
||||||
scm_c_make_vector (size_t k, SCM fill)
|
scm_c_make_vector (size_t k, SCM fill)
|
||||||
#define FUNC_NAME s_scm_make_vector
|
#define FUNC_NAME s_scm_make_vector
|
||||||
{
|
{
|
||||||
SCM vector;
|
|
||||||
size_t j;
|
|
||||||
|
|
||||||
SCM_ASSERT_RANGE (1, scm_from_size_t (k), k <= VECTOR_MAX_LENGTH);
|
SCM_ASSERT_RANGE (1, scm_from_size_t (k), k <= VECTOR_MAX_LENGTH);
|
||||||
|
SCM vector = make_vector (k);
|
||||||
vector = make_vector (k);
|
for (size_t j = 0; j < k; ++j)
|
||||||
for (j = 0; j < k; ++j)
|
|
||||||
SCM_VECTOR_SET (vector, j, fill);
|
SCM_VECTOR_SET (vector, j, fill);
|
||||||
|
|
||||||
return vector;
|
return vector;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue