From 510b9e7abc33843d3fae2a4d7cf0b1213bb352cc Mon Sep 17 00:00:00 2001 From: SiZiOUS Date: Sat, 29 Aug 2020 13:58:00 +0200 Subject: mruby-io: Fixing compilation issue under the legacy MinGW environment Adding MRB_MINGW32_LEGACY in common.h in order to identify the legacy MinGW environment (i.e. NOT to be confused with MinGW-w64). For more info about MinGW defined macros, see: https://sourceforge.net/p/predef/wiki/Compilers/ --- mrbgems/mruby-io/src/file.c | 2 +- mrbgems/mruby-io/src/io.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'mrbgems/mruby-io/src') diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c index ffc66ae91..d3c4b3885 100644 --- a/mrbgems/mruby-io/src/file.c +++ b/mrbgems/mruby-io/src/file.c @@ -66,7 +66,7 @@ #define LOCK_UN 8 #endif -#ifndef _WIN32 +#if !defined(_WIN32) || defined(MRB_MINGW32_LEGACY) typedef struct stat mrb_stat; # define mrb_stat(path, sb) stat(path, sb) # define mrb_fstat(fd, sb) fstat(fd, sb) diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index b3e192899..2c9cba84a 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -33,9 +33,11 @@ typedef long fsuseconds_t; typedef int fmode_t; typedef int mrb_io_read_write_size; - #if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) && \ - !defined(__have_typedef_ssize_t) - typedef SSIZE_T ssize_t; + #ifndef MRB_MINGW32_LEGACY + #if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) && \ + !defined(__have_typedef_ssize_t) + typedef SSIZE_T ssize_t; + #endif #endif #ifndef O_TMPFILE -- cgit v1.2.3