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 4b9b04b41b..499647dd34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jan 26 16:00:40 2009 Nobuyoshi Nakada <[email protected]>
+
+ * array.c (rb_ary_aset): fixed arguments evaluation order.
+
Mon Jan 26 15:49:42 2009 Nobuyoshi Nakada <[email protected]>
* lib/pathname.rb (chop_basename, prepend_prefix): use o option.
diff --git a/array.c b/array.c
index 50c8bd0b89..a1bfeeedd7 100644
--- a/array.c
+++ b/array.c
@@ -1187,7 +1187,9 @@ rb_ary_aset(argc, argv, ary)
if (SYMBOL_P(argv[1])) {
rb_raise(rb_eTypeError, "Symbol as subarray length");
}
- 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) {