diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-10 05:43:14 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-03-10 05:43:14 +0000 |
commit | 2e54fe9d4dd4569032590d0cf1bcea472d422c91 (patch) | |
tree | 74d9b6baff5943a68e4339f1f5d7f1a668d8e421 /bignum.c | |
parent | f8147318dd1a613e6594fc4acc931184fefeaddd (diff) | |
download | ruby-2e54fe9d4dd4569032590d0cf1bcea472d422c91.tar.gz |
* array.c, bignum.c, gc.c, numeric.c, string.c, util.c, insns.def,
missing/crypt.c, missing/vsnprintf.c, : suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r-- | bignum.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1025,7 +1025,7 @@ rb_big2ulong_pack(VALUE x) { VALUE num = big2ulong(x, "unsigned long", Qfalse); if (!RBIGNUM_SIGN(x)) { - return -num; + return (VALUE)(-(SIGNED_VALUE)num); } return num; } @@ -1039,7 +1039,7 @@ rb_big2ulong(VALUE x) if ((SIGNED_VALUE)num < 0) { rb_raise(rb_eRangeError, "bignum out of range of unsigned long"); } - return -num; + return (VALUE)(-(SIGNED_VALUE)num); } return num; } @@ -1082,7 +1082,8 @@ rb_big2ull(VALUE x) { unsigned LONG_LONG num = big2ull(x, "unsigned long long"); - if (!RBIGNUM_SIGN(x)) return -num; + if (!RBIGNUM_SIGN(x)) + return (VALUE)(-(SIGNED_VALUE)num); return num; } |