summaryrefslogtreecommitdiff
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
commit47993929c4727ec1e7e7af4b2d2177d0058b84f8 (patch)
treed653e05315fee8d1f4c3e4e2d817d5b684851196
parent8d8af5225d0e01e2c433b49d8d477c641bace1a3 (diff)
* ext/readline/readline.c (readline_readline): get rid of
libreadline's bug. (ruby-bugs-ja:PR#268) git-svn-id: svn+ssh://ci.ruby-lang.org/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 7adbde50d7..dce027c5f9 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 a6554a5b57..7162042163 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) {