diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-26 18:11:54 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-26 18:11:54 -0800 |
| commit | d7904418faa610daec7483267ca158195bca7b7e (patch) | |
| tree | 2f71b5d0783ae7de42920d46d14cb2b727761973 /src/string.c | |
| parent | ced8fea305806cb955677d87a574098afc4e2143 (diff) | |
| parent | cb7cf4e795bab952802fce023ff19c79bf66f74d (diff) | |
| download | mruby-d7904418faa610daec7483267ca158195bca7b7e.tar.gz mruby-d7904418faa610daec7483267ca158195bca7b7e.zip | |
Merge pull request #893 from monaka/pr-simplify-mrb_range_beg_len
Simplify mrb_range_beg_len(). Don't use OTHER macro.
Diffstat (limited to 'src/string.c')
| -rw-r--r-- | src/string.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/string.c b/src/string.c index 205c39876..7af0d1d59 100644 --- a/src/string.c +++ b/src/string.c @@ -759,23 +759,22 @@ num_index: return mrb_str_dup(mrb, indx); return mrb_nil_value(); - default: + case MRB_TT_RANGE: /* check if indx is Range */ { mrb_int beg, len; mrb_value tmp; len = RSTRING_LEN(str); - switch (mrb_range_beg_len(mrb, indx, &beg, &len, len, 0)) { - case FALSE: - break; - case 2/*OTHER*/: - return mrb_nil_value(); - default: - tmp = mrb_str_subseq(mrb, str, beg, len); - return tmp; + if (mrb_range_beg_len(mrb, indx, &beg, &len, len)) { + tmp = mrb_str_subseq(mrb, str, beg, len); + return tmp; + } + else { + return mrb_nil_value(); } } + default: idx = mrb_fixnum(indx); goto num_index; } |
