diff options
| author | Masaki Muranaka <[email protected]> | 2013-03-19 10:43:45 +0900 |
|---|---|---|
| committer | Masaki Muranaka <[email protected]> | 2013-03-19 11:04:23 +0900 |
| commit | 68652da6f692f50073fdd9c3345d2fd29719b6e8 (patch) | |
| tree | cfae5a8bdf6efc4ff70bc64a92e4099cbb5703d7 /src/string.c | |
| parent | 02a6334d0d074c242a8e5ec2307b01eee30d5ede (diff) | |
| download | mruby-68652da6f692f50073fdd9c3345d2fd29719b6e8.tar.gz mruby-68652da6f692f50073fdd9c3345d2fd29719b6e8.zip | |
Use mrb_true_or_false_value() / in mrb_str_include().
Diffstat (limited to 'src/string.c')
| -rw-r--r-- | src/string.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/string.c b/src/string.c index f50725180..41f2e5a06 100644 --- a/src/string.c +++ b/src/string.c @@ -1312,18 +1312,20 @@ mrb_str_include(mrb_state *mrb, mrb_value self) { mrb_int i; mrb_value str2; + mrb_bool include_p; mrb_get_args(mrb, "o", &str2); if (mrb_type(str2) == MRB_TT_FIXNUM) { - if (memchr(RSTRING_PTR(self), mrb_fixnum(str2), RSTRING_LEN(self))) - return mrb_true_value(); - return mrb_false_value(); + include_p = memchr(RSTRING_PTR(self), mrb_fixnum(str2), RSTRING_LEN(self)); + } + else { + mrb_string_value(mrb, &str2); + i = mrb_str_index(mrb, self, str2, 0); + + include_p = (i != -1); } - mrb_string_value(mrb, &str2); - i = mrb_str_index(mrb, self, str2, 0); - if (i == -1) return mrb_false_value(); - return mrb_true_value(); + return mrb_true_or_false_value(include_p); } /* 15.2.10.5.22 */ |
