aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/w32.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/w32.c b/src/w32.c
index 0f69e652a57..f391f5e26eb 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -6519,7 +6519,15 @@ acl_get_file (const char *fname, acl_type_t type)
6519 if (!get_file_security (fname, si, psd, sd_len, &sd_len)) 6519 if (!get_file_security (fname, si, psd, sd_len, &sd_len))
6520 { 6520 {
6521 xfree (psd); 6521 xfree (psd);
6522 errno = EIO; 6522 err = GetLastError ();
6523 if (err == ERROR_NOT_SUPPORTED)
6524 errno = ENOTSUP;
6525 else if (err == ERROR_FILE_NOT_FOUND
6526 || err == ERROR_PATH_NOT_FOUND
6527 || err == ERROR_INVALID_NAME)
6528 errno = ENOENT;
6529 else
6530 errno = EIO;
6523 psd = NULL; 6531 psd = NULL;
6524 } 6532 }
6525 } 6533 }
@@ -6530,6 +6538,8 @@ acl_get_file (const char *fname, acl_type_t type)
6530 be encoded in the current ANSI codepage. */ 6538 be encoded in the current ANSI codepage. */
6531 || err == ERROR_INVALID_NAME) 6539 || err == ERROR_INVALID_NAME)
6532 errno = ENOENT; 6540 errno = ENOENT;
6541 else if (err == ERROR_NOT_SUPPORTED)
6542 errno = ENOTSUP;
6533 else 6543 else
6534 errno = EIO; 6544 errno = EIO;
6535 } 6545 }