diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-11 23:49:54 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-01-11 23:49:54 +0900 |
| commit | 974e245ae0cb4a0c3eda14a9617090173b326e8a (patch) | |
| tree | c676c5a706c2c4e2461ed5d0d0c30db0ee5161d7 /mrbgems/mruby-io | |
| parent | cdbcade041aa116a03c69bf27e38dc69d62a7b42 (diff) | |
| parent | 01897f8456fca2742eccd5c8b76d59bfefd06799 (diff) | |
| download | mruby-974e245ae0cb4a0c3eda14a9617090173b326e8a.tar.gz mruby-974e245ae0cb4a0c3eda14a9617090173b326e8a.zip | |
Merge pull request #5285 from dearblue/io-unimps
Remove functions for unimplemented methods
Diffstat (limited to 'mrbgems/mruby-io')
| -rw-r--r-- | mrbgems/mruby-io/src/io.c | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index c597cc5ea..31ea572a4 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -326,6 +326,9 @@ mrb_io_alloc(mrb_state *mrb) #define NOFILE 64 #endif +#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE +# define mrb_io_s_popen mrb_notimplement_m +#else static int option_to_fd(mrb_state *mrb, mrb_value v) { @@ -457,13 +460,6 @@ mrb_io_s_popen(mrb_state *mrb, mrb_value klass) DATA_PTR(io) = fptr; return io; } -#elif defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE -static mrb_value -mrb_io_s_popen(mrb_state *mrb, mrb_value klass) -{ - mrb_raise(mrb, E_NOTIMP_ERROR, "IO#popen is not supported on the platform"); - return mrb_false_value(); -} #else static mrb_value mrb_io_s_popen(mrb_state *mrb, mrb_value klass) @@ -589,7 +585,8 @@ mrb_io_s_popen(mrb_state *mrb, mrb_value klass) } return result; } -#endif +#endif /* _WIN32 */ +#endif /* TARGET_OS_IPHONE */ static int mrb_dup(mrb_state *mrb, int fd, mrb_bool *failed) @@ -1333,10 +1330,10 @@ mrb_io_fileno_m(mrb_state *mrb, mrb_value io) return mrb_fixnum_value(fd); } +#if defined(F_GETFD) && defined(F_SETFD) && defined(FD_CLOEXEC) static mrb_value mrb_io_close_on_exec_p(mrb_state *mrb, mrb_value self) { -#if defined(F_GETFD) && defined(F_SETFD) && defined(FD_CLOEXEC) struct mrb_io *fptr; int ret; @@ -1350,17 +1347,15 @@ mrb_io_close_on_exec_p(mrb_state *mrb, mrb_value self) if ((ret = fcntl(fptr->fd, F_GETFD)) == -1) mrb_sys_fail(mrb, "F_GETFD failed"); if (!(ret & FD_CLOEXEC)) return mrb_false_value(); return mrb_true_value(); - +} #else - mrb_raise(mrb, E_NOTIMP_ERROR, "IO#close_on_exec? is not supported on the platform"); - return mrb_false_value(); +# define mrb_io_close_on_exec_p mrb_notimplement_m #endif -} +#if defined(F_GETFD) && defined(F_SETFD) && defined(FD_CLOEXEC) static mrb_value mrb_io_set_close_on_exec(mrb_state *mrb, mrb_value self) { -#if defined(F_GETFD) && defined(F_SETFD) && defined(FD_CLOEXEC) struct mrb_io *fptr; int flag, ret; mrb_bool b; @@ -1387,11 +1382,10 @@ mrb_io_set_close_on_exec(mrb_state *mrb, mrb_value self) } return mrb_bool_value(b); +} #else - mrb_raise(mrb, E_NOTIMP_ERROR, "IO#close_on_exec= is not supported on the platform"); - return mrb_nil_value(); +# define mrb_io_set_close_on_exec mrb_notimplement_m #endif -} static mrb_value mrb_io_set_sync(mrb_state *mrb, mrb_value self) |
