summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-18 22:18:57 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-18 22:18:57 +0900
commit4893a1f4316a20bdfde2a12de8e71f87441d28d4 (patch)
treea5be2f70c9067af6640a413645ebbd0487b3c10d /src
parentb844b968581d19c54c2076e1d33531808cc0e6a5 (diff)
parent1df355e30054ca61aa72c39726759cb70367c090 (diff)
downloadmruby-4893a1f4316a20bdfde2a12de8e71f87441d28d4.tar.gz
mruby-4893a1f4316a20bdfde2a12de8e71f87441d28d4.zip
Merge pull request #1884 from monaka/pr-reduce-implicit-type-cast
Reduce implicit type casts.
Diffstat (limited to 'src')
-rw-r--r--src/array.c8
-rw-r--r--src/numeric.c6
2 files changed, 9 insertions, 5 deletions
diff --git a/src/array.c b/src/array.c
index 90a608b70..12dca3a95 100644
--- a/src/array.c
+++ b/src/array.c
@@ -79,9 +79,9 @@ mrb_ary_new(mrb_state *mrb)
*
*/
static inline void
-array_copy(mrb_value *dst, const mrb_value *src, size_t size)
+array_copy(mrb_value *dst, const mrb_value *src, mrb_int size)
{
- size_t i;
+ mrb_int i;
for (i = 0; i < size; i++) {
dst[i] = src[i];
@@ -238,7 +238,9 @@ mrb_ary_s_create(mrb_state *mrb, mrb_value self)
int len;
mrb_get_args(mrb, "*", &vals, &len);
- return mrb_ary_new_from_values(mrb, len, vals);
+ mrb_assert(len <= MRB_INT_MAX); /* A rare case. So choosed assert() not raise(). */
+
+ return mrb_ary_new_from_values(mrb, (mrb_int)len, vals);
}
static void
diff --git a/src/numeric.c b/src/numeric.c
index b0b80c523..6adfff344 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -962,8 +962,9 @@ fix_xor(mrb_state *mrb, mrb_value x)
#define NUMERIC_SHIFT_WIDTH_MAX (MRB_INT_BIT-1)
static mrb_value
-lshift(mrb_state *mrb, mrb_int val, size_t width)
+lshift(mrb_state *mrb, mrb_int val, mrb_int width)
{
+ mrb_assert(width >= 0);
if (width > NUMERIC_SHIFT_WIDTH_MAX) {
mrb_raisef(mrb, E_RANGE_ERROR, "width(%S) > (%S:MRB_INT_BIT-1)",
mrb_fixnum_value(width),
@@ -974,8 +975,9 @@ lshift(mrb_state *mrb, mrb_int val, size_t width)
}
static mrb_value
-rshift(mrb_int val, size_t width)
+rshift(mrb_int val, mrb_int width)
{
+ mrb_assert(width >= 0);
if (width >= NUMERIC_SHIFT_WIDTH_MAX) {
if (val < 0) {
val = -1;