dll: fuse: ENOSYS has different values on Windows vs Cygwin

This commit is contained in:
Bill Zissimopoulos
2018-07-16 09:42:15 -07:00
parent e3290a30bc
commit e4077c92e9
6 changed files with 30 additions and 1 deletions

View File

@ -383,7 +383,7 @@ static NTSTATUS fsp_fuse_svcstart(FSP_SERVICE *Service, ULONG argc, PWSTR *argv)
/* this should always fail with ENOSYS or EINVAL */
err = f->ops.readlink("/", buf, sizeof buf);
f->has_symlinks = -ENOSYS != err;
f->has_symlinks = -enosys(f->env) != err;
}
/* the FSD does not currently limit these VolumeParams fields; do so here! */

View File

@ -19,6 +19,7 @@
#define WINFSP_DLL_FUSE_LIBRARY_H_INCLUDED
#include <dll/library.h>
#include <dll/fuse/shared.h>
#include <fuse/fuse.h>
#include <fuse/fuse_opt.h>

23
src/dll/fuse/shared.h Normal file
View File

@ -0,0 +1,23 @@
/**
* @file dll/fuse/shared.h
*
* @copyright 2015-2018 Bill Zissimopoulos
*/
/*
* This file is part of WinFsp.
*
* You can redistribute it and/or modify it under the terms of the GNU
* General Public License version 3 as published by the Free Software
* Foundation.
*
* Licensees holding a valid commercial license may use this file in
* accordance with the commercial license agreement provided with the
* software.
*/
#ifndef WINFSP_DLL_FUSE_SHARED_H_INCLUDED
#define WINFSP_DLL_FUSE_SHARED_H_INCLUDED
#define enosys(env) ('C' == (env)->environment ? 88 : 40)
#endif

View File

@ -19,6 +19,7 @@
#define WINFSP_DLL_FUSE3_LIBRARY_H_INCLUDED
#include <dll/library.h>
#include <dll/fuse/shared.h>
#include <fuse/fuse.h>
#undef FUSE_H_
#undef FUSE_COMMON_H_