Eliot Miranda uploaded a new version of FileAttributesPlugin to project VM Maker:
http://source.squeak.org/VMMaker/FileAttributesPlugin.oscog-eem.54.mcz==================== Summary ====================
Name: FileAttributesPlugin.oscog-eem.54
Author: eem
Time: 29 March 2020, 6:33:34.8893 pm
UUID: 4aa6e35d-11f2-49de-9e53-ac5600cf4684
Ancestors: FileAttributesPlugin.oscog-akg.53
Get the plugin closer to compiling under MSVC (2017).
=============== Diff against FileAttributesPlugin.oscog-akg.53 ===============
Item was changed:
----- Method: FileAttributesPlugin class>>declareCVarsIn: (in category 'translation') -----
declareCVarsIn: cg
self declareC: #('sCLPfn' 'sCOFfn')
as: #'void *'
in: cg.
"Assume the security plugin can be loaded until proven otherwise"
cg var: 'hasSecurityPlugin' declareC: 'int hasSecurityPlugin = 1'.
cg addHeaderFile: '<errno.h>'.
cg addHeaderFile: '<limits.h>'.
+ cg addHeaderFile: '<sys/types.h>
- cg addHeaderFile: '<sys/types.h>'.
- cg addHeaderFile: '<unistd.h>'.
- cg addHeaderFile: '<dirent.h>
#if _WIN32 || _WIN64
# include <windows.h>
# include <winbase.h>
+ # if !!defined(_MSC_VER) /* i.e. cygwin or mingw */
+ # include <unistd.h>
+ # include <dirent.h>
+ # endif
# define FAIL() { return -1; }
# include "sqWin32File.h"
# if !!defined(PATH_MAX) /* work around bug in 64-bit cygwin; sigh :-( */
# define PATH_MAX 4096
# endif
# define HAVE_CHMOD 0
# define HAVE_CHOWN 0
#else
+ # include <unistd.h>
+ # include <dirent.h>
+ # define HAVE_CHMOD 1
+ # define HAVE_CHOWN 1
- #define HAVE_CHMOD 1
- #define HAVE_CHOWN 1
#endif'.
cg addHeaderFile: '"faCommon.h"'.
cg addHeaderFile: '<sys/stat.h>
#if !!defined(HAVE_LSTAT) && !!defined(_WIN32) && !!defined(_WIN64)
# define HAVE_LSTAT 1
+ #endif
+
- #endif'.
- cg addHeaderFile: '<unistd.h>
/* AKG 2018 - ', self moduleName, '.c translated from class ', self name, ' */'!