diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-15 22:14:51 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-15 22:14:51 +0000 |
| commit | a7d78dad9fb6860d26c8a13d1e21910802ae799d (patch) | |
| tree | 17228a00edd8de9646f181c23a1096ed69ae7b96 /ext/stringio | |
| parent | 1d0f869ea846f02438589062a10f0e51d12ece0a (diff) | |
* ext/stringio/stringio.c (strio_readline, strio_each)
(strio_readlines): set lastline. [ruby-core:17257]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/stringio')
| -rw-r--r-- | ext/stringio/stringio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index 584bea8f64..484b299e53 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -992,7 +992,7 @@ strio_readline(argc, argv, self) VALUE *argv; VALUE self; { - VALUE line = strio_getline(argc, argv, readable(StringIO(self))); + VALUE line = strio_gets(argc, argv, self); if (NIL_P(line)) rb_eof_error(); return line; } @@ -1016,6 +1016,7 @@ strio_each(argc, argv, self) RETURN_ENUMERATOR(self, argc, argv); while (!NIL_P(line = strio_getline(argc, argv, readable(ptr)))) { + rb_lastline_set(line); rb_yield(line); } return self; @@ -1038,6 +1039,7 @@ strio_readlines(argc, argv, self) while (!NIL_P(line = strio_getline(argc, argv, readable(ptr)))) { rb_ary_push(ary, line); } + rb_lastline_set(Qnil); return ary; } |
