summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--array.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 467e6b36b8..082a5dc075 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jan 26 16:00:40 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * array.c (rb_ary_aset): fixed arguments evaluation order.
+
Sun Jan 25 12:02:56 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/Makefile.sub (clean-ext): condition of EXTS was inverted.
diff --git a/array.c b/array.c
index 3994ce6e0d..fb92c0f0ba 100644
--- a/array.c
+++ b/array.c
@@ -1264,7 +1264,9 @@ rb_ary_aset(int argc, VALUE *argv, VALUE ary)
long offset, beg, len;
if (argc == 3) {
- rb_ary_splice(ary, NUM2LONG(argv[0]), NUM2LONG(argv[1]), argv[2]);
+ beg = NUM2LONG(argv[0]);
+ len = NUM2LONG(argv[1]);
+ rb_ary_splice(ary, beg, len, argv[2]);
return argv[2];
}
if (argc != 2) {