summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 06:34:29 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 06:34:29 +0000
commit30953338df004dba1b6ff5f532a359c881c74eff (patch)
tree2be7dc9a635b9ce09c722ffd8b3e69b81cafdeac
parentcb0bb993f245a39fd91a5bb358b7cbb6a56099ea (diff)
downloadruby-30953338df004dba1b6ff5f532a359c881c74eff.tar.gz
* bignum.c (big_lshift): make shift offset long type.
(big_rshift): ditto. (rb_big_lshift): ditto. (big_rshift): ditto. [ruby-dev:31434] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@13379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--bignum.c21
-rw-r--r--version.h10
2 files changed, 16 insertions, 15 deletions
diff --git a/bignum.c b/bignum.c
index 58e804091f..547759f099 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1544,8 +1544,8 @@ rb_big_remainder(x, y)
return bignorm(z);
}
-static VALUE big_lshift _((VALUE, unsigned int));
-static VALUE big_rshift _((VALUE, unsigned int));
+static VALUE big_lshift _((VALUE, unsigned long));
+static VALUE big_rshift _((VALUE, unsigned long));
static VALUE big_shift(x, n)
VALUE x;
@@ -1884,11 +1884,12 @@ VALUE
rb_big_lshift(x, y)
VALUE x, y;
{
- int shift, neg = 0;
+ long shift;
+ int neg = 0;
for (;;) {
if (FIXNUM_P(y)) {
- shift = FIX2INT(y);
+ shift = FIX2LONG(y);
if (shift < 0) {
neg = 1;
shift = -shift;
@@ -1914,10 +1915,10 @@ rb_big_lshift(x, y)
static VALUE
big_lshift(x, shift)
VALUE x;
- unsigned int shift;
+ unsigned long shift;
{
BDIGIT *xds, *zds;
- int s1 = shift/BITSPERDIG;
+ long s1 = shift/BITSPERDIG;
int s2 = shift%BITSPERDIG;
VALUE z;
BDIGIT_DBL num = 0;
@@ -1950,12 +1951,12 @@ VALUE
rb_big_rshift(x, y)
VALUE x, y;
{
- int shift;
+ long shift;
int neg = 0;
for (;;) {
if (FIXNUM_P(y)) {
- shift = FIX2INT(y);
+ shift = FIX2LONG(y);
if (shift < 0) {
neg = 1;
shift = -shift;
@@ -1983,11 +1984,11 @@ rb_big_rshift(x, y)
static VALUE
big_rshift(x, shift)
VALUE x;
- unsigned int shift;
+ unsigned long shift;
{
BDIGIT *xds, *zds;
long s1 = shift/BITSPERDIG;
- long s2 = shift%BITSPERDIG;
+ int s2 = shift%BITSPERDIG;
VALUE z;
BDIGIT_DBL num = 0;
long i, j;
diff --git a/version.h b/version.h
index 5b1e02470b..85e5fefeda 100644
--- a/version.h
+++ b/version.h
@@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2007-08-22"
+#define RUBY_RELEASE_DATE "2007-09-07"
#define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20070822
-#define RUBY_PATCHLEVEL 89
+#define RUBY_RELEASE_CODE 20070907
+#define RUBY_PATCHLEVEL 90
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 6
#define RUBY_RELEASE_YEAR 2007
-#define RUBY_RELEASE_MONTH 8
-#define RUBY_RELEASE_DAY 22
+#define RUBY_RELEASE_MONTH 9
+#define RUBY_RELEASE_DAY 7
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];