summaryrefslogtreecommitdiff
path: root/libguile/vectors.c
diff options
context:
space:
mode:
authorDaniel Llorens <daniel.llorens@bluewin.ch>2013-04-26 17:59:45 +0200
committerAndy Wingo <wingo@pobox.com>2014-01-27 21:48:03 +0100
commitd2053db7d8f6134f50bbd5102ddde7b72010dd97 (patch)
tree61d32a40fbcec62fe9cebe79d48a97b66babedc0 /libguile/vectors.c
parent86263a20cd3f7ec1ade740c19ac47767e083d058 (diff)
downloadguile-d2053db7d8f6134f50bbd5102ddde7b72010dd97.tar.gz
Bounds error in vector_handle_ref/set is implementation error
* libguile/vectors.c: bounds are already checked unless impl is called directly, so don't check again. * libguile/strings.c, libguile/bitvectors.c: fix comments.
Diffstat (limited to 'libguile/vectors.c')
-rw-r--r--libguile/vectors.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libguile/vectors.c b/libguile/vectors.c
index 19a0392b2..08fac3bbd 100644
--- a/libguile/vectors.c
+++ b/libguile/vectors.c
@@ -39,7 +39,7 @@
#include "libguile/bdw-gc.h"
-
+#include <assert.h>
#define VECTOR_MAX_LENGTH (SCM_T_BITS_MAX >> 8)
@@ -436,16 +436,14 @@ SCM_DEFINE (scm_vector_move_right_x, "vector-move-right!", 5, 0, 0,
static SCM
vector_handle_ref (SCM vector, size_t idx)
{
- if (idx >= SCM_I_VECTOR_LENGTH (vector))
- scm_out_of_range ("vector-handle-ref", scm_from_size_t (idx));
+ assert (idx < SCM_I_VECTOR_LENGTH (vector));
return SCM_I_VECTOR_WELTS(vector)[idx];
}
static void
vector_handle_set (SCM vector, size_t idx, SCM val)
{
- if (idx >= SCM_I_VECTOR_LENGTH (vector))
- scm_out_of_range ("vector-handle-set!", scm_from_size_t (idx));
+ assert (idx < SCM_I_VECTOR_LENGTH (vector));
SCM_I_VECTOR_WELTS(vector)[idx] = val;
}