summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-15 14:13:47 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-15 14:13:47 +0000
commitbb62b25a1b691ec13a95c58dbecc006792d3e0a7 (patch)
treedfd137841d9854cde6062f50c271de903fb0d169
parent3579787da716afc5caf369d7ab2205939a328e53 (diff)
downloadruby-bb62b25a1b691ec13a95c58dbecc006792d3e0a7.tar.gz
ruby-bb62b25a1b691ec13a95c58dbecc006792d3e0a7.tar.xz
ruby-bb62b25a1b691ec13a95c58dbecc006792d3e0a7.zip
* ext/readline/readline.c (Readline.readline): use rl_outstream
and rl_instream. [ruby-dev:25699] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/readline/readline.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c626b3c2..016b58f48 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Feb 15 22:14:34 2005 sheepman <sheepman@tcn.zaq.ne.jp>
+
+ * ext/readline/readline.c (Readline.readline): use rl_outstream
+ and rl_instream. [ruby-dev:25699]
+
Mon Feb 14 23:58:17 2005 Kouhei Sutou <kou@cozmixng.org>
* lib/rss/parser.rb (RSS::ListenerMixin::tag_end):
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 4c7b08f51..a8d2f8279 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -7,6 +7,7 @@
#include <readline/history.h>
#include "ruby.h"
+#include "rubyio.h"
#include "rubysig.h"
#ifdef HAVE_UNISTD_H
@@ -45,6 +46,7 @@ readline_readline(argc, argv, self)
char *prompt = NULL;
char *buff;
int status;
+ OpenFile *ofp, *ifp;
rb_secure(4);
if (rb_scan_args(argc, argv, "02", &tmp, &add_hist) > 0) {
@@ -54,6 +56,10 @@ readline_readline(argc, argv, self)
if (!isatty(0) && errno == EBADF) rb_raise(rb_eIOError, "stdin closed");
+ GetOpenFile(rb_stdout, ofp);
+ rl_outstream = rb_io_stdio_file(ofp);
+ GetOpenFile(rb_stdin, ifp);
+ rl_instream = rb_io_stdio_file(ifp);
buff = (char*)rb_protect((VALUE(*)_((VALUE)))readline, (VALUE)prompt,
&status);
if (status) {