summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--random.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6072b53c3d..6847a87295 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Jun 8 15:58:18 2013 Tanaka Akira <akr@fsij.org>
+
+ * random.c (rand_init): Add a cast to fix clang compile error:
+ random.c:410:32: error: implicit conversion loses integer precision:
+ 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
+ This cast doesn't cause a problem because len is not bigger than
+ MT_MAX_STATE.
+
Sat Jun 8 15:30:03 2013 Tanaka Akira <akr@fsij.org>
* random.c (rand_init): Use rb_integer_pack.
diff --git a/random.c b/random.c
index 19b65a7083..38aee0833d 100644
--- a/random.c
+++ b/random.c
@@ -407,7 +407,7 @@ rand_init(struct MT *mt, VALUE vseed)
else {
if (sign != 2 && buf[len-1] == 1) /* remove leading-zero-guard */
len--;
- init_by_array(mt, buf, len);
+ init_by_array(mt, buf, (int)len);
}
if (buf != buf0) xfree(buf);
return seed;