diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/readline/readline.c | 3 |
2 files changed, 8 insertions, 0 deletions
@@ -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) { |