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/
This commit is contained in:
SiZiOUS
2020-08-29 13:58:00 +02:00
parent 564372d7b9
commit 510b9e7abc
3 changed files with 9 additions and 4 deletions
+3
View File
@@ -82,6 +82,9 @@ MRB_BEGIN_DECL
# elif defined(__MINGW32_MAJOR_VERSION)
# define MRB_MINGW32_VERSION (__MINGW32_MAJOR_VERSION * 1000 + __MINGW32_MINOR_VERSION)
# endif
# if defined(__MINGW32__) && !defined(__MINGW64__)
# define MRB_MINGW32_LEGACY
# endif
#endif
MRB_END_DECL
+1 -1
View File
@@ -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)
+5 -3
View File
@@ -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