mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* bignum.c (rb_cstr_to_inum): Merge two temporary buffers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2ade221827
commit
4658478ae1
2 changed files with 9 additions and 7 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Jul 2 21:17:37 2013 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* bignum.c (rb_cstr_to_inum): Merge two temporary buffers.
|
||||
|
||||
Tue Jul 2 20:25:04 2013 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* bignum.c (rb_cstr_to_inum): Use BDIGIT_DBL to collect adjacent digits.
|
||||
|
|
12
bignum.c
12
bignum.c
|
@ -2095,7 +2095,7 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||
int j;
|
||||
size_t num_bdigits;
|
||||
size_t unit;
|
||||
VALUE tmpu = 0, tmpv = 0;
|
||||
VALUE tmpuv = 0;
|
||||
BDIGIT *uds, *vds, *tds;
|
||||
|
||||
power = maxpow_in_bdigit_dbl(base, &digits_per_bdigits_dbl);
|
||||
|
@ -2103,8 +2103,8 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||
size = p - buf;
|
||||
num_bdigits = roomof(size, digits_per_bdigits_dbl)*2;
|
||||
|
||||
uds = ALLOCV_N(BDIGIT, tmpu, num_bdigits);
|
||||
vds = ALLOCV_N(BDIGIT, tmpv, num_bdigits);
|
||||
uds = ALLOCV_N(BDIGIT, tmpuv, 2*num_bdigits);
|
||||
vds = uds + num_bdigits;
|
||||
|
||||
powerv = bignew(2, 1);
|
||||
BDIGITS(powerv)[0] = BIGLO(power);
|
||||
|
@ -2151,10 +2151,8 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||
z = bignew(num_bdigits, sign);
|
||||
MEMCPY(BDIGITS(z), uds, BDIGIT, num_bdigits);
|
||||
|
||||
if (tmpv)
|
||||
ALLOCV_END(tmpv);
|
||||
if (tmpu)
|
||||
ALLOCV_END(tmpu);
|
||||
if (tmpuv)
|
||||
ALLOCV_END(tmpuv);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue