emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 90e5549: Don't signal an error when saving files on WdebDAV vol


From: Eli Zaretskii
Subject: emacs-27 90e5549: Don't signal an error when saving files on WdebDAV volumes
Date: Tue, 29 Sep 2020 11:22:48 -0400 (EDT)

branch: emacs-27
commit 90e5549f027f01c16f6f34e55c33d8a549fb32e7
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Don't signal an error when saving files on WdebDAV volumes
    
    * src/w32.c (acl_get_file): If get_file_security raises the
    ERROR_ACCESS_DENIED error, treat that like unsupported ACLs.
---
 src/w32.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/w32.c b/src/w32.c
index 78e75f0..6fed5ba 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -6399,7 +6399,8 @@ acl_get_file (const char *fname, acl_type_t type)
                {
                  xfree (psd);
                  err = GetLastError ();
-                 if (err == ERROR_NOT_SUPPORTED)
+                 if (err == ERROR_NOT_SUPPORTED
+                     || err == ERROR_ACCESS_DENIED)
                    errno = ENOTSUP;
                  else if (err == ERROR_FILE_NOT_FOUND
                           || err == ERROR_PATH_NOT_FOUND
@@ -6417,7 +6418,11 @@ acl_get_file (const char *fname, acl_type_t type)
                      be encoded in the current ANSI codepage. */
                   || err == ERROR_INVALID_NAME)
            errno = ENOENT;
-         else if (err == ERROR_NOT_SUPPORTED)
+         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)
            errno = ENOTSUP;
          else
            errno = EIO;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]