diff options
author | Eli Zaretskii <eliz@gnu.org> | 2021-11-11 21:41:10 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-11-11 21:41:10 +0200 |
commit | 24b86cb4f7aa1e14dd9025428140c5fdae5c5227 (patch) | |
tree | 66dd395df2a316555e7e133b5eb5e72e8d450994 /src/w32.c | |
parent | 6dae01ad6da1bcbced062c0d46a6759c7a0570e4 (diff) | |
download | emacs-24b86cb4f7aa1e14dd9025428140c5fdae5c5227.tar.gz emacs-24b86cb4f7aa1e14dd9025428140c5fdae5c5227.tar.bz2 emacs-24b86cb4f7aa1e14dd9025428140c5fdae5c5227.zip |
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)
Diffstat (limited to 'src/w32.c')
-rw-r--r-- | src/w32.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/w32.c b/src/w32.c index 9fe698d28d7..80e42acf500 100644 --- a/src/w32.c +++ b/src/w32.c @@ -6595,7 +6595,8 @@ acl_get_file (const char *fname, acl_type_t type) xfree (psd); err = GetLastError (); if (err == ERROR_NOT_SUPPORTED - || err == ERROR_ACCESS_DENIED) + || err == ERROR_ACCESS_DENIED + || err == ERROR_INVALID_FUNCTION) errno = ENOTSUP; else if (err == ERROR_FILE_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) errno = ENOENT; else if (err == ERROR_NOT_SUPPORTED - /* ERROR_ACCESS_DENIED is what we get for a volume - mounted by WebDAV, which evidently doesn't - support ACLs. */ - || err == ERROR_ACCESS_DENIED) + /* ERROR_ACCESS_DENIED or ERROR_INVALID_FUNCTION is + what we get for a volume mounted by WebDAV, + which evidently doesn't support ACLs. */ + || err == ERROR_ACCESS_DENIED + || err == ERROR_INVALID_FUNCTION) errno = ENOTSUP; else errno = EIO; |