* bignum.c (big_split): fix off-by-one error. [ruby-dev:39501]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2009-10-17 08:31:07 +00:00
Родитель 859a985715
Коммит 8c01a3765e
2 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Sat Oct 17 17:30:06 2009 Yusuke Endoh <mame@tsg.ne.jp>
* bignum.c (big_split): fix off-by-one error. [ruby-dev:39501]
Sat Oct 17 16:34:27 2009 Tanaka Akira <akr@fsij.org>
* parse.y (parser_yylex): fix token even after trailing under score.

Просмотреть файл

@ -1848,13 +1848,13 @@ big_split(VALUE v, long n, volatile VALUE *ph, volatile VALUE *pl)
while (--hn && !vds[hn + ln]);
h = bignew(hn += 2, 1);
MEMCPY(BDIGITS(h), vds + ln, BDIGIT, hn);
BDIGITS(h)[hn - 1] = 0;
MEMCPY(BDIGITS(h), vds + ln, BDIGIT, hn - 1);
BDIGITS(h)[hn - 1] = 0; /* margin for carry */
while (--ln && !vds[ln]);
l = bignew(ln += 2, 1);
MEMCPY(BDIGITS(l), vds, BDIGIT, ln);
BDIGITS(l)[ln - 1] = 0;
MEMCPY(BDIGITS(l), vds, BDIGIT, ln - 1);
BDIGITS(l)[ln - 1] = 0; /* margin for carry */
*pl = l;
*ph = h;