diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-18 22:18:57 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-18 22:18:57 +0900 |
| commit | 4893a1f4316a20bdfde2a12de8e71f87441d28d4 (patch) | |
| tree | a5be2f70c9067af6640a413645ebbd0487b3c10d /src/numeric.c | |
| parent | b844b968581d19c54c2076e1d33531808cc0e6a5 (diff) | |
| parent | 1df355e30054ca61aa72c39726759cb70367c090 (diff) | |
| download | mruby-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/numeric.c')
| -rw-r--r-- | src/numeric.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; |
