diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-16 12:59:26 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-16 12:59:26 +0000 |
commit | 50794b32227e0615a8468f8203e12d180b57442c (patch) | |
tree | 0712afabc1cc64d14cd216f7f36e2e61842ee5cd /pack.c | |
parent | ecabbf1bf606305bb553100700e1edb487604ecc (diff) |
* bignum.c (bary_2comp): Extracted from get2comp.
(integer_unpack_num_bdigits): Extracted from
rb_integer_unpack_internal.
(bary_unpack_internal): Renamed from bary_unpack and support
INTEGER_PACK_2COMP.
(bary_unpack): New function to validate arguments and invoke
bary_unpack_internal.
(rb_integer_unpack_internal): Removed.
(rb_integer_unpack): Invoke bary_unpack_internal.
(rb_integer_unpack_2comp): Removed.
* internal.h (rb_integer_unpack_2comp): Removed.
* pack.c: Follow the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'pack.c')
-rw-r--r-- | pack.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -1731,9 +1731,8 @@ pack_unpack(VALUE str, VALUE fmt) int flags = bigendian_p ? INTEGER_PACK_BIG_ENDIAN : INTEGER_PACK_LITTLE_ENDIAN; VALUE val; if (signed_p) - val = rb_integer_unpack_2comp(s, integer_size, 1, 0, flags); - else - val = rb_integer_unpack(s, integer_size, 1, 0, flags); + flags |= INTEGER_PACK_2COMP; + val = rb_integer_unpack(s, integer_size, 1, 0, flags); UNPACK_PUSH(val); s += integer_size; } |