diff options
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 45e8bb4ff..416f98f8b 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -320,36 +320,16 @@ static mrb_value mrb_str_lines(mrb_state *mrb, mrb_value self) { mrb_value result; - mrb_value blk; int ai; mrb_int len; - mrb_value arg; char *b = RSTRING_PTR(self); char *p = b, *t; char *e = b + RSTRING_LEN(self); - mrb_get_args(mrb, "&", &blk); + mrb_get_args(mrb, ""); result = mrb_ary_new(mrb); ai = mrb_gc_arena_save(mrb); - if (!mrb_nil_p(blk)) { - while (p < e) { - t = p; - while (p < e && *p != '\n') p++; - if (*p == '\n') p++; - len = (mrb_int) (p - t); - arg = mrb_str_new(mrb, t, len); - mrb_yield_argv(mrb, blk, 1, &arg); - mrb_gc_arena_restore(mrb, ai); - if (b != RSTRING_PTR(self)) { - ptrdiff_t diff = p - b; - b = RSTRING_PTR(self); - p = b + diff; - } - e = b + RSTRING_LEN(self); - } - return self; - } while (p < e) { t = p; while (p < e && *p != '\n') p++; |
