diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-20 12:14:33 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-20 12:14:33 +0000 |
commit | 47993929c4727ec1e7e7af4b2d2177d0058b84f8 (patch) | |
tree | d653e05315fee8d1f4c3e4e2d817d5b684851196 /ext | |
parent | 8d8af5225d0e01e2c433b49d8d477c641bace1a3 (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
Diffstat (limited to 'ext')
-rw-r--r-- | ext/readline/readline.c | 3 |
1 files changed, 3 insertions, 0 deletions
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) { |