mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
19991018
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
40a3f601e4
commit
125ca1a11a
11 changed files with 65 additions and 31 deletions
4
array.c
4
array.c
|
@ -280,6 +280,7 @@ VALUE
|
|||
rb_ary_pop(ary)
|
||||
VALUE ary;
|
||||
{
|
||||
rb_ary_modify(ary);
|
||||
if (RARRAY(ary)->len == 0) return Qnil;
|
||||
if (RARRAY(ary)->len * 10 < RARRAY(ary)->capa && RARRAY(ary)->capa > ARY_DEFAULT_SIZE) {
|
||||
RARRAY(ary)->capa = RARRAY(ary)->len * 2;
|
||||
|
@ -294,6 +295,7 @@ rb_ary_shift(ary)
|
|||
{
|
||||
VALUE top;
|
||||
|
||||
rb_ary_modify(ary);
|
||||
if (RARRAY(ary)->len == 0) return Qnil;
|
||||
|
||||
top = RARRAY(ary)->ptr[0];
|
||||
|
@ -844,6 +846,7 @@ rb_ary_reverse(ary)
|
|||
VALUE *p1, *p2;
|
||||
VALUE tmp;
|
||||
|
||||
rb_ary_modify(ary);
|
||||
if (RARRAY(ary)->len == 0) return ary;
|
||||
|
||||
p1 = RARRAY(ary)->ptr;
|
||||
|
@ -1026,6 +1029,7 @@ static VALUE
|
|||
rb_ary_clear(ary)
|
||||
VALUE ary;
|
||||
{
|
||||
rb_ary_modify(ary);
|
||||
RARRAY(ary)->len = 0;
|
||||
if (ARY_DEFAULT_SIZE*3 < RARRAY(ary)->capa) {
|
||||
RARRAY(ary)->capa = ARY_DEFAULT_SIZE * 2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue