summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby.h1
-rw-r--r--src/range.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 9cf578836..db3b06aa8 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -381,6 +381,7 @@ mrb_value mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const
void mrb_gc_protect(mrb_state *mrb, mrb_value obj);
mrb_value mrb_to_int(mrb_state *mrb, mrb_value val);
+#define mrb_int(mrb, val) mrb_fixnum(mrb_to_int(mrb, val))
void mrb_check_type(mrb_state *mrb, mrb_value x, enum mrb_vtype t);
typedef enum call_type {
diff --git a/src/range.c b/src/range.c
index b392f37b2..3e5af1894 100644
--- a/src/range.c
+++ b/src/range.c
@@ -242,8 +242,8 @@ range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb
if (mrb_type(range) != MRB_TT_RANGE) return FALSE;
- beg = b = mrb_fixnum(mrb_to_int(mrb, r->edges->beg));
- end = e = mrb_fixnum(mrb_to_int(mrb, r->edges->end));
+ beg = b = mrb_int(mrb, r->edges->beg);
+ end = e = mrb_int(mrb, r->edges->end);
if (beg < 0) {
beg += len;