summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-29 08:19:27 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-29 08:19:27 +0000
commit04c232c95c78cbcaab48780a209325fed8511a3c (patch)
treec941366d942e56e8ba2c1415699d49e6ffafd8d0 /ext
parent99f7dae16a6205793f78f5ed4bd342e17d9a5ce2 (diff)
merge revision(s) 17352:
* 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_6@17658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/stringio/stringio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c
index 7355afd770..011ccb73ff 100644
--- a/ext/stringio/stringio.c
+++ b/ext/stringio/stringio.c
@@ -947,7 +947,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;
}
@@ -969,6 +969,7 @@ strio_each(argc, argv, self)
VALUE line;
while (!NIL_P(line = strio_getline(argc, argv, readable(ptr)))) {
+ rb_lastline_set(line);
rb_yield(line);
}
return self;
@@ -991,6 +992,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;
}