Skip to content

Commit

Permalink
* io.c (rb_io_check_readable): flush tied write IO too.
Browse files Browse the repository at this point in the history
* io.c (Init_IO): tie stdin with stdout.  [ruby-core:15107]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Jan 17, 2008
1 parent a377658 commit 64239e2
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Fri Jan 18 00:49:31 2008 Nobuyoshi Nakada <[email protected]>

* io.c (rb_io_check_readable): flush tied write IO too.

* io.c (Init_IO): tie stdin with stdout. [ruby-core:15107]

Fri Jan 18 00:23:31 2008 Nobuyoshi Nakada <[email protected]>

* encoding.c (enc_free): removed since rb_encoding may be used while
Expand Down
6 changes: 6 additions & 0 deletions io.c
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,11 @@ rb_io_check_readable(rb_io_t *fptr)
if (fptr->wbuf_len) {
io_fflush(fptr);
}
if (fptr->tied_io_for_writing) {
rb_io_t *wfptr;
GetOpenFile(fptr->tied_io_for_writing, wfptr);
io_fflush(wfptr);
}
if (!fptr->enc && fptr->fd == 0) {
fptr->enc = rb_default_external_encoding();
}
Expand Down Expand Up @@ -6647,6 +6652,7 @@ Init_IO(void)
rb_define_hooked_variable("$>", &rb_stdout, 0, stdout_setter);
orig_stdout = rb_stdout;
rb_deferr = orig_stderr = rb_stderr;
RFILE(rb_stdin)->fptr->tied_io_for_writing = rb_stdout;

/* constants to hold original stdin/stdout/stderr */
rb_define_global_const("STDIN", rb_stdin);
Expand Down

0 comments on commit 64239e2

Please sign in to comment.