From 57d09aebf6b45f6b2cce6659f70946e8c9a38d2c Mon Sep 17 00:00:00 2001 From: Nicolas Cellier Date: Wed, 26 Dec 2018 00:27:23 +0100 Subject: [PATCH] Define some UNIX constants in sqWin32Directory.c, MSVC oblige the unix constants S_IRUSR are not defined in MSVC. Pick the workaround from platforms/minheadless/windows/sqWin32Directory.c --- platforms/win32/vm/sqWin32Directory.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/platforms/win32/vm/sqWin32Directory.c b/platforms/win32/vm/sqWin32Directory.c index 29ade7a49a..e41b625304 100644 --- a/platforms/win32/vm/sqWin32Directory.c +++ b/platforms/win32/vm/sqWin32Directory.c @@ -19,6 +19,17 @@ # include # include +/** + * Posix permissions are not defined in Windows, except when using + * Mingw or Cygwin. Since these constants are just standard, we define + * them for our purpose of emulating permissions. + */ +#ifndef S_IRUSR +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#endif + extern struct VirtualMachine *interpreterProxy; #define FAIL() { return interpreterProxy->primitiveFail(); }