diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-21 12:42:39 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-21 12:42:39 +0000 |
commit | 938fcd6b701e0ac1bf985da4a9d6314d6a0f9f08 (patch) | |
tree | 75e038b369479f4ff91e677febe7ac495f8a33e5 /io.c | |
parent | f0cc645afadfef5488583091dc0f9902c41cb637 (diff) | |
download | ruby-938fcd6b701e0ac1bf985da4a9d6314d6a0f9f08.tar.gz |
* io.c (rb_io_ungetbyte, rb_io_ungetc): allows nil to reset EOF
flag with ungetting nothing.
* ruby.c (load_file_internal): rests EOF flag to make possible to
load from stdin after reading data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -2860,6 +2860,7 @@ rb_io_ungetbyte(VALUE io, VALUE b) GetOpenFile(io, fptr); rb_io_check_readable(fptr); + io_unset_eof(fptr); if (NIL_P(b)) return Qnil; if (FIXNUM_P(b)) { char cc = FIX2INT(b); @@ -2869,7 +2870,6 @@ rb_io_ungetbyte(VALUE io, VALUE b) SafeStringValue(b); } io_ungetbyte(b, fptr); - io_unset_eof(fptr); return Qnil; } @@ -2897,6 +2897,7 @@ rb_io_ungetc(VALUE io, VALUE c) GetOpenFile(io, fptr); rb_io_check_readable(fptr); + io_unset_eof(fptr); if (NIL_P(c)) return Qnil; if (FIXNUM_P(c)) { int cc = FIX2INT(c); @@ -2926,7 +2927,6 @@ rb_io_ungetc(VALUE io, VALUE c) else { io_ungetbyte(c, fptr); } - io_unset_eof(fptr); return Qnil; } |