From: nobu.nokada@... Date: 2002-08-23T00:01:13+09:00 Subject: Re: [Cleanup] Int vs Long (2nd part) Hi, At Thu, 22 Aug 2002 22:36:52 +0900, Michal Rokos wrote: > @@ -1464,12 +1463,12 @@ > } > len *= RARRAY(ary)->len; > > - ary2 = ary_new(rb_obj_class(ary), len); > - RARRAY(ary2)->len = len; > + ary2 = rb_ary_new2(len); This changes semantics. > @@ -1641,11 +1636,12 @@ > rb_ary_and(ary1, ary2) > VALUE ary1, ary2; > { > - VALUE hash; > - VALUE ary3 = rb_ary_new(); > + VALUE hash, ary3; > long i; > > ary2 = to_ary(ary2); > + ary3 = rb_ary_new(RARRAY(ary1)->len < RARRAY(ary2)->len ? > + RARRAY(ary1)->len : RARRAY(ary2)->len); rb_ary_new() doesn't take any arguments. I guess you intended rb_ary_new2(). > @@ -1690,14 +1685,16 @@ > rb_ary_uniq_bang(ary) > VALUE ary; > { > - VALUE hash = ary_make_hash(ary, 0); > + VALUE hash; > VALUE *p, *q, *end; > > + rb_ary_modify(ary); > + > + hash = ary_make_hash(ary, 0); > + Which should be done first? -- Nobu Nakada