diff options
| author | Hiroshi Mimaki <[email protected]> | 2019-10-23 15:44:21 +0900 |
|---|---|---|
| committer | Hiroshi Mimaki <[email protected]> | 2019-10-23 15:44:21 +0900 |
| commit | 4eb8fca14008222ad3f835c29678fa11ad2c06b5 (patch) | |
| tree | fd05103a2e73accd33f28c4c48721f9a06b1cc59 /mrbgems/mruby-io | |
| parent | 4c91adc4b209163f4609e308bf773c6833513b55 (diff) | |
| parent | fa85f91e0e3ebff7b2626bfcf550821445c064d7 (diff) | |
| download | mruby-4eb8fca14008222ad3f835c29678fa11ad2c06b5.tar.gz mruby-4eb8fca14008222ad3f835c29678fa11ad2c06b5.zip | |
Merge branch 'master' into stable
Diffstat (limited to 'mrbgems/mruby-io')
| -rw-r--r-- | mrbgems/mruby-io/mrblib/kernel.rb | 4 | ||||
| -rw-r--r-- | mrbgems/mruby-io/src/io.c | 17 |
2 files changed, 7 insertions, 14 deletions
diff --git a/mrbgems/mruby-io/mrblib/kernel.rb b/mrbgems/mruby-io/mrblib/kernel.rb index 42d5bb1d1..9cb3b5650 100644 --- a/mrbgems/mruby-io/mrblib/kernel.rb +++ b/mrbgems/mruby-io/mrblib/kernel.rb @@ -28,8 +28,4 @@ module Kernel def gets(*args) $stdin.gets(*args) end - - def getc(*args) - $stdin.getc(*args) - end end diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index 624c27f47..3a6932b3a 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -284,12 +284,13 @@ mrb_io_alloc(mrb_state *mrb) #endif static int -option_to_fd(mrb_state *mrb, mrb_value obj, const char *key) +option_to_fd(mrb_state *mrb, mrb_value hash, const char *key) { - mrb_value opt = mrb_funcall(mrb, obj, "[]", 1, mrb_symbol_value(mrb_intern_static(mrb, key, strlen(key)))); - if (mrb_nil_p(opt)) { - return -1; - } + mrb_value opt; + + if (!mrb_hash_p(hash)) return -1; + opt = mrb_hash_fetch(mrb, hash, mrb_symbol_value(mrb_intern_static(mrb, key, strlen(key))), mrb_nil_value()); + if (mrb_nil_p(opt)) return -1; switch (mrb_type(opt)) { case MRB_TT_DATA: /* IO */ @@ -907,11 +908,7 @@ mrb_io_syswrite(mrb_state *mrb, mrb_value io) } mrb_get_args(mrb, "S", &str); - if (!mrb_string_p(str)) { - buf = mrb_funcall(mrb, str, "to_s", 0); - } else { - buf = str; - } + buf = str; if (fptr->fd2 == -1) { fd = fptr->fd; |
