Index: lib/xvfs/xvfs.c.rvt ================================================================== --- lib/xvfs/xvfs.c.rvt +++ lib/xvfs/xvfs.c.rvt @@ -9,11 +9,10 @@ if {[info exists ::xvfs::xvfsCoreH]} { ::minirivet::_emitOutput $::xvfs::xvfsCoreH } else { ?>#include #include -#include #include #include #define XVFS_NAME_LOOKUP_ERROR (-1) #define XVFS_FILE_BLOCKSIZE 1024 @@ -68,11 +67,11 @@ long pathIndex; - ssize_t pathLen; + size_t pathLen; if (path == NULL) { return(XVFS_NAME_LOOKUP_ERROR); } Index: xvfs-core.c ================================================================== --- xvfs-core.c +++ xvfs-core.c @@ -1,9 +1,8 @@ #include #include #include -#include #include #include #include #ifdef XVFS_DEBUG @@ -33,10 +32,18 @@ #if defined(XVFS_MODE_SERVER) || defined(XVFS_MODE_STANDALONE) || defined(XVFS_MODE_FLEXIBLE) #ifndef XVFS_ROOT_MOUNTPOINT # define XVFS_ROOT_MOUNTPOINT "//xvfs:/" #endif +/* + * Windows lacks X_OK and W_OK + */ +#ifdef _MSC_BUILD +# define W_OK 02 +# define X_OK 0 /* Mask it with nothing to get false */ +#endif + struct xvfs_tclfs_instance_info { struct Xvfs_FSInfo *fsInfo; Tcl_Obj *mountpoint; };