summaryrefslogtreecommitdiff
path: root/ext/io/console
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-06 03:32:28 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-06 03:32:28 +0000
commitc7495f996d672c0a132940951fa5d44e2c066a6f (patch)
tree8b6707ce1ec4701769cc0fd6729776aec4a85649 /ext/io/console
parent9ca160c168abf64695e7ff89beb72c0ce5eed6a6 (diff)
merge revision(s) 34376:
* ext/io/console/console.c (io_getch): default delegating method for StringIO. https://github.com/nobu/io-console/issues/4 * ext/stringio/stringio.c: moved some methods to hidden modules. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/io/console')
-rw-r--r--ext/io/console/console.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index cd5ffd94fb..8a5c814dda 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -623,6 +623,12 @@ console_dev(VALUE klass)
return con;
}
+static VALUE
+io_getch(int argc, VALUE *argv, VALUE io)
+{
+ return rb_funcall2(io, rb_intern("getc"), argc, argv);
+}
+
/*
* IO console methods
*/
@@ -649,4 +655,8 @@ InitVM_console(void)
rb_define_method(rb_cIO, "oflush", console_oflush, 0);
rb_define_method(rb_cIO, "ioflush", console_ioflush, 0);
rb_define_singleton_method(rb_cIO, "console", console_dev, 0);
+ {
+ VALUE mReadable = rb_define_module_under(rb_cIO, "readable");
+ rb_define_method(mReadable, "getch", io_getch, -1);
+ }
}