diff options
author | Bruno Haible <bruno@clisp.org> | 2011-06-13 01:17:20 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2011-06-13 01:17:20 +0200 |
commit | 9cbf59b7fd224f263fce77ef1dadd3be5439fc4f (patch) | |
tree | 0890ff4f36e22096b9120815b775c4d1b895a10a /lib/file-has-acl.c | |
parent | 13bba66f5fbbaf0dc453994a36747732ae786e02 (diff) | |
download | gnulib-9cbf59b7fd224f263fce77ef1dadd3be5439fc4f.tar.gz |
acl: Complete the 2010-08-10 fix.
* lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
* lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
* lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
explicitly.
* tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
Reported in <http://debbugs.gnu.org/db/60/6053.html>.
Diffstat (limited to 'lib/file-has-acl.c')
-rw-r--r-- | lib/file-has-acl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c index a815e4c47d..03decf46ba 100644 --- a/lib/file-has-acl.c +++ b/lib/file-has-acl.c @@ -527,7 +527,15 @@ file_has_acl (char const *name, struct stat const *sb) count = getacl (name, 0, NULL); if (count < 0) - return (errno == ENOSYS || errno == EOPNOTSUPP ? 0 : -1); + { + /* ENOSYS is seen on newer HP-UX versions. + EOPNOTSUPP is typically seen on NFS mounts. + ENOTSUP was seen on Quantum StorNext file systems (cvfs). */ + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + return 0; + else + return -1; + } if (count == 0) return 0; |