summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-16 14:54:49 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-16 14:54:49 +0000
commit73deb733926e8b4cf58949141d11a1083911f227 (patch)
tree7d730928e2805fc52fa0efa8fc4d8d0c67d43c81 /array.c
parentf55662826477e0f75816b2b481817814d224ffd4 (diff)
* numeric.c (flo_divmod): protect float values from GC by
assignment to local variables. [ruby-dev:24873] * string.c (str_mod_check): frozen check should be separated. [ruby-core:3742] * array.c (rb_ary_update): pedantic check to detect rb_ary_to_ary() to modify the receiver. [ruby-dev:24861] * string.c (rb_str_justify): typo fixed. [ruby-dev:24851] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r--array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/array.c b/array.c
index 03647f81fd..a5772d55eb 100644
--- a/array.c
+++ b/array.c
@@ -957,7 +957,6 @@ rb_ary_update(ary, beg, len, rpl)
len = RARRAY(ary)->len - beg;
}
- rb_ary_modify(ary);
if (NIL_P(rpl)) {
rlen = 0;
}
@@ -965,6 +964,7 @@ rb_ary_update(ary, beg, len, rpl)
rpl = rb_ary_to_ary(rpl);
rlen = RARRAY(rpl)->len;
}
+ rb_ary_modify(ary);
if (beg >= RARRAY(ary)->len) {
len = beg + rlen;