From: Eli Zaretskii Date: Sat, 23 May 2020 05:50:22 +0000 (+0300) Subject: Fix accessing files on networked drives on MS-Windows X-Git-Tag: emacs-27.1-rc1~115 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a10254dd46da920d14dd990714d0f21fd508d07d;p=emacs.git Fix accessing files on networked drives on MS-Windows * src/w32.c (acl_get_file): Set errno to ENOTSUP if get_file_security returns ERROR_NOT_SUPPORTED. (Bug#41463) --- diff --git a/src/w32.c b/src/w32.c index 62c53fd7711..78e75f0937e 100644 --- a/src/w32.c +++ b/src/w32.c @@ -6398,7 +6398,15 @@ acl_get_file (const char *fname, acl_type_t type) if (!get_file_security (fname, si, psd, sd_len, &sd_len)) { xfree (psd); - errno = EIO; + err = GetLastError (); + if (err == ERROR_NOT_SUPPORTED) + errno = ENOTSUP; + else if (err == ERROR_FILE_NOT_FOUND + || err == ERROR_PATH_NOT_FOUND + || err == ERROR_INVALID_NAME) + errno = ENOENT; + else + errno = EIO; psd = NULL; } } @@ -6409,6 +6417,8 @@ 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) + errno = ENOTSUP; else errno = EIO; }