summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--random.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7fc333c02e..dda6f0c99f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,6 @@
-Fri Jul 17 13:58:26 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 17 15:20:53 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * random.c (DIGSPERINT): fix for LP64.
* random.c (fill_random_seed): /dev/urandom is not available on
DOSISH systems.
diff --git a/random.c b/random.c
index c504ca22c1..f67b65f2be 100644
--- a/random.c
+++ b/random.c
@@ -226,7 +226,7 @@ rb_genrand_real(void)
#define BDIGITS(x) (RBIGNUM_DIGITS(x))
#define BITSPERDIG (SIZEOF_BDIGITS*CHAR_BIT)
#define BIGRAD ((BDIGIT_DBL)1 << BITSPERDIG)
-#define DIGSPERINT (SIZEOF_LONG/SIZEOF_BDIGITS)
+#define DIGSPERINT (SIZEOF_INT/SIZEOF_BDIGITS)
#define BIGUP(x) ((BDIGIT_DBL)(x) << BITSPERDIG)
#define BIGDN(x) RSHIFT(x,BITSPERDIG)
#define BIGLO(x) ((BDIGIT)((x) & (BIGRAD-1)))
@@ -615,7 +615,7 @@ random_load(VALUE obj, VALUE dump)
do {
x = (x << CHAR_BIT * SIZEOF_BDIGITS) | *--d;
} while (--len % DIGSPERINT);
-#endif
+# endif
mt->state[len / DIGSPERINT] = (unsigned int)x;
} while (len > 0);
}