summaryrefslogtreecommitdiffstats
path: root/array.c
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 00:43:59 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 00:43:59 +0000
commit9baa9e93101d8c43a486f1ca2f8aefaec29a7c67 (patch)
tree4c4037044c7d2cd6256a6a3d828ab34e41706831 /array.c
parente7db28affba2ed90bc0d3d7fad7a3f1aa7ffa0ae (diff)
downloadruby-9baa9e93101d8c43a486f1ca2f8aefaec29a7c67.tar.gz
ruby-9baa9e93101d8c43a486f1ca2f8aefaec29a7c67.tar.xz
ruby-9baa9e93101d8c43a486f1ca2f8aefaec29a7c67.zip
* array.c (rb_ary_initialize): should call rb_ary_modify() first.
[ruby-core:11562] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6@13156 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 acc59d20b..d392fc1b9 100644
--- a/array.c
+++ b/array.c
@@ -272,6 +272,7 @@ rb_ary_initialize(argc, argv, ary)
long len;
VALUE size, val;
+ rb_ary_modify(ary);
if (rb_scan_args(argc, argv, "02", &size, &val) == 0) {
RARRAY(ary)->len = 0;
if (rb_block_given_p()) {
@@ -295,7 +296,6 @@ rb_ary_initialize(argc, argv, ary)
if (len > 0 && len * (long)sizeof(VALUE) <= len) {
rb_raise(rb_eArgError, "array size too big");
}
- rb_ary_modify(ary);
if (len > RARRAY(ary)->aux.capa) {
REALLOC_N(RARRAY(ary)->ptr, VALUE, len);
RARRAY(ary)->aux.capa = len;