From 4c6d524c473ebb9174d0183dc1d1ac0530337314 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 1 Feb 2020 16:25:39 +0900 Subject: Implement `IO#pread` and `IO#pwrite` It is available by default in environments where `__unix__` is defined. Other environments are enabled by defining `MRB_WITH_IO_PREAD_PWRITE` (requires an implementation of `pread()` and `pwrite()` functions). In any case, you can disable it by defining `MRB_WITHOUT_IO_PREAD_PWRITE`. --- mrbgems/mruby-io/include/mruby/ext/io.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mrbgems/mruby-io/include') diff --git a/mrbgems/mruby-io/include/mruby/ext/io.h b/mrbgems/mruby-io/include/mruby/ext/io.h index 4bcbbe914..c4eccb936 100644 --- a/mrbgems/mruby-io/include/mruby/ext/io.h +++ b/mrbgems/mruby-io/include/mruby/ext/io.h @@ -9,6 +9,14 @@ extern "C" { #endif +#if defined(MRB_WITHOUT_IO_PREAD_PWRITE) +# undef MRB_WITH_IO_PREAD_PWRITE +#elif !defined(MRB_WITH_IO_PREAD_PWRITE) +# if defined(__unix__) +# define MRB_WITH_IO_PREAD_PWRITE +# endif +#endif + struct mrb_io { int fd; /* file descriptor, or -1 */ int fd2; /* file descriptor to write if it's different from fd, or -1 */ -- cgit v1.2.3