Commit ea5a0599 authored by Masaki Muranaka's avatar Masaki Muranaka

Use mrb_true_or_false_value() / in range_eql().

parent be5986b2
...@@ -385,23 +385,34 @@ range_eql(mrb_state *mrb, mrb_value range) ...@@ -385,23 +385,34 @@ range_eql(mrb_state *mrb, mrb_value range)
{ {
mrb_value obj; mrb_value obj;
struct RRange *r, *o; struct RRange *r, *o;
mrb_bool eql_p;
mrb_get_args(mrb, "o", &obj); mrb_get_args(mrb, "o", &obj);
if (mrb_obj_equal(mrb, range, obj)) if (mrb_obj_equal(mrb, range, obj)) {
return mrb_true_value(); eql_p = 1;
if (!mrb_obj_is_kind_of(mrb, obj, RANGE_CLASS)) }
return mrb_false_value(); else if (!mrb_obj_is_kind_of(mrb, obj, RANGE_CLASS)) {
eql_p = 0;
r = mrb_range_ptr(range); }
if (mrb_type(obj) != MRB_TT_RANGE) return mrb_false_value(); else {
o = mrb_range_ptr(obj); r = mrb_range_ptr(range);
if (!mrb_eql(mrb, r->edges->beg, o->edges->beg)) if (mrb_type(obj) != MRB_TT_RANGE) {
return mrb_false_value(); eql_p = 0;
if (!mrb_eql(mrb, r->edges->end, o->edges->end)) }
return mrb_false_value(); else {
if (r->excl != o->excl) o = mrb_range_ptr(obj);
return mrb_false_value(); if (!mrb_eql(mrb, r->edges->beg, o->edges->beg) ||
return mrb_true_value(); !mrb_eql(mrb, r->edges->end, o->edges->end) ||
(r->excl != o->excl)) {
eql_p = 0;
}
else {
eql_p = 1;
}
}
}
return mrb_true_or_false_value(eql_p);
} }
/* 15.2.14.4.15(x) */ /* 15.2.14.4.15(x) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment