From 5e22e8e3509a4c2422befed01b29949097c903ed Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 18 Dec 2017 11:15:27 +0900 Subject: `open` on Windows takes `int` 3rd argument instead of `mode_t`. --- mrbgems/mruby-io/src/io.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-io') diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index 0abb9014a..f17407ff6 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -34,12 +34,15 @@ typedef int fsize_t; typedef long ftime_t; typedef long fsuseconds_t; + typedef int fmode_t; + #else #include #include typedef size_t fsize_t; typedef time_t ftime_t; typedef suseconds_t fsuseconds_t; + typedef mode_t fmode_t; #endif #ifdef _MSC_VER @@ -740,7 +743,7 @@ mrb_cloexec_open(mrb_state *mrb, const char *pathname, mrb_int flags, mrb_int mo flags |= O_NOINHERIT; #endif reopen: - fd = open(fname, (int)flags, mode); + fd = open(fname, (int)flags, (fmode_t)mode); if (fd == -1) { if (!retry) { switch (errno) { -- cgit v1.2.3