summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-range-ext
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-range-ext')
-rw-r--r--mrbgems/mruby-range-ext/mrblib/range.rb8
-rw-r--r--mrbgems/mruby-range-ext/src/range.c7
2 files changed, 7 insertions, 8 deletions
diff --git a/mrbgems/mruby-range-ext/mrblib/range.rb b/mrbgems/mruby-range-ext/mrblib/range.rb
index 7fe502c9d..8b670afee 100644
--- a/mrbgems/mruby-range-ext/mrblib/range.rb
+++ b/mrbgems/mruby-range-ext/mrblib/range.rb
@@ -56,7 +56,7 @@ class Range
def max(&block)
val = self.begin
last = self.end
- return super if block
+ return super(&block) if block
raise RangeError, "cannot get the maximum of endless range" if last.nil?
@@ -72,7 +72,7 @@ class Range
end
# delegate to Enumerable
- super
+ super()
end
def min(&block)
@@ -80,7 +80,7 @@ class Range
last = self.end
if block
raise RangeError, "cannot get the minimum of endless range with custom comparison method" if last.nil?
- return super
+ return super(&block)
end
return val if last.nil?
@@ -94,6 +94,6 @@ class Range
end
# delegate to Enumerable
- super
+ super()
end
end
diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c
index 7b919eb90..633c97b73 100644
--- a/mrbgems/mruby-range-ext/src/range.c
+++ b/mrbgems/mruby-range-ext/src/range.c
@@ -1,6 +1,5 @@
#include <mruby.h>
#include <mruby/range.h>
-#include <math.h>
static mrb_bool
r_le(mrb_state *mrb, mrb_value a, mrb_value b)
@@ -81,7 +80,7 @@ range_size(mrb_state *mrb, mrb_value range)
beg = RANGE_BEG(r);
end = RANGE_END(r);
- if ((mrb_fixnum_p(beg) || mrb_float_p(beg)) && mrb_nil_p(end)) {
+ if ((mrb_integer_p(beg) || mrb_float_p(beg)) && mrb_nil_p(end)) {
return mrb_float_value(mrb, INFINITY);
}
@@ -136,7 +135,7 @@ range_size(mrb_state *mrb, mrb_value range)
beg = RANGE_BEG(r);
end = RANGE_END(r);
- if (mrb_fixnum_p(beg) && mrb_nil_p(end)) {
+ if (mrb_integer_p(beg) && mrb_nil_p(end)) {
return mrb_nil_value();
}
@@ -147,7 +146,7 @@ range_size(mrb_state *mrb, mrb_value range)
mrb_int b = mrb_integer(end);
mrb_int c = b - a + excl;
- return mrb_fixnum_value(c);
+ return mrb_int_value(mrb, c);
}
return mrb_nil_value();
}