diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-29 07:52:55 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-29 07:52:55 +0000 |
commit | 37b2487c7097aa72775f0f3f17f058cfc820dabd (patch) | |
tree | 35cc22bf84d65b4ec02bf15cb22df6fab7e1b813 /io.c | |
parent | 847bac1daf8d1ea2209c5dfb589e88e6db34c57b (diff) |
* lib/net/smtp.rb (Net::SMTP::send0): add taint check.
* ruby.h (LLONG_MIN): wrong value.
* io.c (rb_f_getc): $stdin may not be IO. [ruby-dev:20973]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -94,7 +94,7 @@ VALUE rb_cIO; VALUE rb_eEOFError; VALUE rb_eIOError; -VALUE rb_stdin, rb_stdout, rb_stderr; +VALUE rb_stdin, rb_stdout, rb_stderr, rb_defout; static VALUE orig_stdout, orig_stderr; VALUE rb_output_fs; @@ -3180,6 +3180,9 @@ static VALUE rb_f_getc() { rb_warn("getc is obsolete; use STDIN.getc instead"); + if (TYPE(rb_stdin) != T_FILE) { + return rb_funcall3(rb_stdin, rb_intern("getc"), 0, 0); + } return rb_io_getc(rb_stdin); } @@ -4134,7 +4137,7 @@ Init_IO() rb_stderr = prep_stdio(stderr, FMODE_WRITABLE, rb_cIO); rb_define_hooked_variable("$stderr", &rb_stderr, 0, set_output_var); rb_define_hooked_variable("$>", &rb_stdout, 0, set_output_var); - orig_stdout = rb_stdout; + rb_defout = orig_stdout = rb_stdout; orig_stderr = rb_stderr; /* variables to be removed in 1.8.1 */ |