summaryrefslogtreecommitdiff
path: root/libguile/vectors.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vectors.c')
-rw-r--r--libguile/vectors.c13
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