summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-28 09:23:30 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-28 09:23:30 +0000
commitf1edc864417da010e0c8d671e44130562702f765 (patch)
tree8668963c73c6f2be0b1fb6a3b58bac745b664fed
parentef5a94ac959eb61645576cfd1582c1843e7893fe (diff)
merges r21780 from trunk into ruby_1_9_1.
* array.c (rb_ary_aset): fixed arguments evaluation order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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) {