diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-06-29 22:10:51 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-06-29 22:10:51 -0700 |
| commit | 6852680d36f51579830e5878a52f9a4c2a6af85b (patch) | |
| tree | 578a2317fb8c115e3eba232469d61fc1a3c3e12a /src | |
| parent | 3adfe7727bb70ce393ed1c511cdf01d1078f833c (diff) | |
| parent | a2210274eab85de9fbcf48a6509e8485482a083c (diff) | |
| download | mruby-6852680d36f51579830e5878a52f9a4c2a6af85b.tar.gz mruby-6852680d36f51579830e5878a52f9a4c2a6af85b.zip | |
Merge pull request #1321 from suzukaze/refactor-range-c
Refactor mrb_range_eq() func in range.c.
Diffstat (limited to 'src')
| -rw-r--r-- | src/range.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/range.c b/src/range.c index 7e3e03136..43de0e799 100644 --- a/src/range.c +++ b/src/range.c @@ -152,30 +152,22 @@ mrb_range_eq(mrb_state *mrb, mrb_value range) struct RRange *rr; struct RRange *ro; mrb_value obj; - mrb_bool eq_p; mrb_get_args(mrb, "o", &obj); - if (mrb_obj_equal(mrb, range, obj)) { - eq_p = 1; - } - else if (!mrb_obj_is_instance_of(mrb, obj, mrb_obj_class(mrb, range))) { /* same class? */ - eq_p = 0; - } - else { - rr = mrb_range_ptr(range); - ro = mrb_range_ptr(obj); - if (!mrb_obj_equal(mrb, rr->edges->beg, ro->edges->beg) || - !mrb_obj_equal(mrb, rr->edges->end, ro->edges->end) || - rr->excl != ro->excl) { - eq_p = 0; - } - else { - eq_p = 1; - } + if (mrb_obj_equal(mrb, range, obj)) return mrb_true_value(); + if (!mrb_obj_is_instance_of(mrb, obj, mrb_obj_class(mrb, range))) { /* same class? */ + return mrb_false_value(); } - return mrb_bool_value(eq_p); + rr = mrb_range_ptr(range); + ro = mrb_range_ptr(obj); + if (!mrb_obj_equal(mrb, rr->edges->beg, ro->edges->beg) || + !mrb_obj_equal(mrb, rr->edges->end, ro->edges->end) || + rr->excl != ro->excl) { + return mrb_false_value(); + } + return mrb_true_value(); } static int |
