diff options
Diffstat (limited to 'libguile/vectors.c')
-rw-r--r-- | libguile/vectors.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libguile/vectors.c b/libguile/vectors.c index 86dc0b121..947c333be 100644 --- a/libguile/vectors.c +++ b/libguile/vectors.c @@ -301,7 +301,11 @@ SCM_DEFINE (scm_vector_move_left_x, "vector-move-left!", 5, 0, 0, SCM_ASSERT_RANGE (5, start2, e-i+j <= SCM_VECTOR_LENGTH (vec2)); while (i<e) - SCM_VECTOR_SET (vec2, j++, SCM_VELTS (vec1)[i++]); + { + SCM_VECTOR_SET (vec2, j, SCM_VELTS (vec1)[i]); + i++; + j++; + } return SCM_UNSPECIFIED; } @@ -333,7 +337,12 @@ SCM_DEFINE (scm_vector_move_right_x, "vector-move-right!", 5, 0, 0, j = e - i + j; SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2)); while (i < e) - SCM_VECTOR_SET (vec2, --j, SCM_VELTS (vec1)[--e]); + { + j--; + e--; + SCM_VECTOR_SET (vec2, j, SCM_VELTS (vec1)[e]); + } + return SCM_UNSPECIFIED; } #undef FUNC_NAME |