summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-06-20 12:14:33 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-06-20 12:14:33 +0000
commitef408c00bea0b80117c4aa28d9769fa2d54af20f (patch)
treed653e05315fee8d1f4c3e4e2d817d5b684851196
parent10e5eb9beea5a63960a38505384046251230d18c (diff)
downloadruby-ef408c00bea0b80117c4aa28d9769fa2d54af20f.tar.gz
ruby-ef408c00bea0b80117c4aa28d9769fa2d54af20f.tar.xz
ruby-ef408c00bea0b80117c4aa28d9769fa2d54af20f.zip
* ext/readline/readline.c (readline_readline): get rid of
libreadline's bug. (ruby-bugs-ja:PR#268) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/readline/readline.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7adbde50d..dce027c5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jun 20 21:09:37 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * ext/readline/readline.c (readline_readline): get rid of
+ libreadline's bug. (ruby-bugs-ja:PR#268)
+
Thu Jun 20 17:10:27 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* lib/ftool.rb (BUFSIZE): tuning, set buffer length to 8192.
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index a6554a5b5..716204216 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -1,6 +1,7 @@
/* readline.c -- GNU Readline module
Copyright (C) 1997-2001 Shugo Maeda */
+#include <errno.h>
#include <stdio.h>
#include <readline/readline.h>
#include <readline/history.h>
@@ -44,6 +45,8 @@ readline_readline(argc, argv, self)
prompt = StringValuePtr(tmp);
}
+ if (!isatty(0) && errno == EBADF) rb_raise(rb_eIOError, "stdin closed");
+
buff = (char*)rb_protect((VALUE(*)_((VALUE)))readline, (VALUE)prompt,
&status);
if (status) {