Re: [Cleanup] Int vs Long (2nd part)

From: nobu.nokada@...
Date: 2002-08-22 15:01:13 UTC
List: ruby-core #338
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

In This Thread