mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-05 03:39:38 +00:00
Fix ACL errors with WebDAV volumes on MS-Windows
* src/w32.c (acl_get_file): Handle ERROR_INVALID_FUNCTION from WebDAV. Patch from Ioannis Kappas <ioannis.kappas@gmail.com>. (Bug#51773)
This commit is contained in:
parent
6dae01ad6d
commit
24b86cb4f7
1 changed files with 7 additions and 5 deletions
12
src/w32.c
12
src/w32.c
|
@ -6595,7 +6595,8 @@ acl_get_file (const char *fname, acl_type_t type)
|
||||||
xfree (psd);
|
xfree (psd);
|
||||||
err = GetLastError ();
|
err = GetLastError ();
|
||||||
if (err == ERROR_NOT_SUPPORTED
|
if (err == ERROR_NOT_SUPPORTED
|
||||||
|| err == ERROR_ACCESS_DENIED)
|
|| err == ERROR_ACCESS_DENIED
|
||||||
|
|| err == ERROR_INVALID_FUNCTION)
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
else if (err == ERROR_FILE_NOT_FOUND
|
else if (err == ERROR_FILE_NOT_FOUND
|
||||||
|| err == ERROR_PATH_NOT_FOUND
|
|| err == ERROR_PATH_NOT_FOUND
|
||||||
|
@ -6614,10 +6615,11 @@ acl_get_file (const char *fname, acl_type_t type)
|
||||||
|| err == ERROR_INVALID_NAME)
|
|| err == ERROR_INVALID_NAME)
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
else if (err == ERROR_NOT_SUPPORTED
|
else if (err == ERROR_NOT_SUPPORTED
|
||||||
/* ERROR_ACCESS_DENIED is what we get for a volume
|
/* ERROR_ACCESS_DENIED or ERROR_INVALID_FUNCTION is
|
||||||
mounted by WebDAV, which evidently doesn't
|
what we get for a volume mounted by WebDAV,
|
||||||
support ACLs. */
|
which evidently doesn't support ACLs. */
|
||||||
|| err == ERROR_ACCESS_DENIED)
|
|| err == ERROR_ACCESS_DENIED
|
||||||
|
|| err == ERROR_INVALID_FUNCTION)
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
else
|
else
|
||||||
errno = EIO;
|
errno = EIO;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue