diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/w32.c | 12 |
1 files changed, 11 insertions, 1 deletions
| @@ -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 | } |