diff options
| author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-30 13:30:11 +0000 |
|---|---|---|
| committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-30 13:30:11 +0000 |
| commit | e7f7ec8e0531a6168339bf1458d8b456992cff33 (patch) | |
| tree | f55bdc3cb5809f1b19e5b2450aed5637de62241b | |
| parent | 4fc80b5f993902b5376150813442f11ed2da001b (diff) | |
| download | ruby-e7f7ec8e0531a6168339bf1458d8b456992cff33.tar.gz ruby-e7f7ec8e0531a6168339bf1458d8b456992cff33.tar.xz ruby-e7f7ec8e0531a6168339bf1458d8b456992cff33.zip | |
* ext/stringio/stringio.c (strio_getline): fix for nil and "" as
separator. [ruby-dev:34591]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | ext/stringio/stringio.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Mon Jun 30 22:27:39 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * ext/stringio/stringio.c (strio_getline): fix for nil and "" as + separator. [ruby-dev:34591] + Mon Jun 30 22:21:30 2008 Yusuke Endoh <mame@tsg.ne.jp> * io.c (argf_each_line): pass args to each_line. [ruby-dev:34958] diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index b9c7eb7f8..db243c4e7 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -835,7 +835,7 @@ strio_getline(int argc, VALUE *argv, struct StringIO *ptr) str = tmp; } } - else { + else if (!NIL_P(str)) { StringValue(str); } } @@ -862,7 +862,7 @@ strio_getline(int argc, VALUE *argv, struct StringIO *ptr) s = p; while ((p = memchr(p, '\n', e - p)) && (p != e)) { if (*++p == '\n') { - e = p; + e = p + 1; break; } } |
