summaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-04 03:59:01 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-04 03:59:01 +0000
commitbb16543ac77a4372877d0f9f3809c9400fe4cb70 (patch)
tree9cbc740103a88a3dcd0491106460b452dcc7c318 /string.c
parentcf7be6e0c3acec6fb1b6a5c1128bc077b4d11678 (diff)
downloadruby-bb16543ac77a4372877d0f9f3809c9400fe4cb70.tar.gz
ruby-bb16543ac77a4372877d0f9f3809c9400fe4cb70.tar.xz
ruby-bb16543ac77a4372877d0f9f3809c9400fe4cb70.zip
* string.c (rb_str_each_line): return original string.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/string.c b/string.c
index f011fddc7..6eb213fa7 100644
--- a/string.c
+++ b/string.c
@@ -5045,6 +5045,7 @@ rb_str_each_line(int argc, VALUE *argv, VALUE str)
long len, rslen;
VALUE line;
int n;
+ VALUE orig = str;
if (argc == 0) {
rs = rb_rs;
@@ -5055,7 +5056,7 @@ rb_str_each_line(int argc, VALUE *argv, VALUE str)
RETURN_ENUMERATOR(str, argc, argv);
if (NIL_P(rs)) {
rb_yield(str);
- return str;
+ return orig;
}
str = rb_str_new4(str);
ptr = p = s = RSTRING_PTR(str);
@@ -5124,7 +5125,7 @@ rb_str_each_line(int argc, VALUE *argv, VALUE str)
rb_yield(line);
}
- return str;
+ return orig;
}