From aaf1dc156eba0ae626534a3248a95e6a3656717f Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 18 Oct 2006 13:57:43 +0000 Subject: * array.c (rb_ary_shift): shorten copy size. fixed: [ruby-list:42907] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ array.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index aa3f3f38e0..ed372974eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Oct 18 22:56:51 2006 Nobuyoshi Nakada + + * array.c (rb_ary_shift): shorten copy size. fixed: [ruby-list:42907] + Wed Oct 18 00:55:33 2006 Nobuyoshi Nakada * parse.y (parser_yylex): use particular enums. [ruby-core:09221] diff --git a/array.c b/array.c index 2e9d927f6a..acc59d20b4 100644 --- a/array.c +++ b/array.c @@ -502,7 +502,7 @@ rb_ary_shift(ary) if (RARRAY(ary)->len == 0) return Qnil; top = RARRAY(ary)->ptr[0]; if (RARRAY_LEN(ary) < ARY_DEFAULT_SIZE && !FL_TEST(ary, ELTS_SHARED)) { - MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+1, VALUE, RARRAY_LEN(ary)); + MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+1, VALUE, RARRAY_LEN(ary)-1); } else { if (!FL_TEST(ary, ELTS_SHARED)) { -- cgit v1.2.3