From: Nobuyoshi Nakada Date: 2007-11-16T22:54:50+09:00 Subject: Re: Array#split_at Hi, At Fri, 16 Nov 2007 18:47:50 +0900, murphy wrote in [ruby-core:13597]: > +VALUE > +rb_ary_split_at(int argc, VALUE *argv, VALUE ary) > +{ > + return Qnil; What's this? > + long pos, len; > + len = 1; /* default */ > + VALUE left = ary_shared_array(rb_cArray, ary); > + VALUE right = ary_shared_array(rb_cArray, ary); These need C99. > + RARRAY(left)->len = pos; > + RARRAY(right)->ptr += pos + len; > + RARRAY(right)->len += RARRAY_LEN(ary) - (pos + len); The last assignment shouldn't be: + RARRAY(right)->len -= pos + len; or + RARRAY(right)->len = RARRAY_LEN(ary) - (pos + len); ? -- Nobu Nakada