mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #788 from masamitsu-murase/modify_range_initialize
Modify range initialize to prevent segmentation fault.
This commit is contained in:
+1
-1
@@ -43,8 +43,8 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl)
|
||||
struct RRange *r;
|
||||
|
||||
r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS);
|
||||
r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
|
||||
range_check(mrb, beg, end);
|
||||
r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges));
|
||||
r->edges->beg = beg;
|
||||
r->edges->end = end;
|
||||
r->excl = excl;
|
||||
|
||||
+7
-8
@@ -48,14 +48,13 @@ assert('Range#include', '15.2.14.4.8') do
|
||||
a.include?(5) and not a.include?(20)
|
||||
end
|
||||
|
||||
# TODO SEGFAULT ATM
|
||||
#assert('Range#initialize', '15.2.14.4.9') do
|
||||
# a = Range.new(1, 10, true)
|
||||
# b = Range.new(1, 10, false)
|
||||
#
|
||||
# a == (1..10) and a.exclude_end? and b == (1..10) and
|
||||
# not b.exclude_end?
|
||||
#end
|
||||
assert('Range#initialize', '15.2.14.4.9') do
|
||||
a = Range.new(1, 10, true)
|
||||
b = Range.new(1, 10, false)
|
||||
|
||||
a == (1...10) and a.exclude_end? and b == (1..10) and
|
||||
not b.exclude_end?
|
||||
end
|
||||
|
||||
assert('Range#last', '15.2.14.4.10') do
|
||||
(1..10).last == 10
|
||||
|
||||
Reference in New Issue
Block a user