summaryrefslogtreecommitdiff
path: root/lib/copy-acl.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2008-06-04 00:00:28 +0200
committerBruno Haible <bruno@clisp.org>2008-06-04 00:00:28 +0200
commitfb3917caac20bdcf09b53c1f8d43d0676e5db8b2 (patch)
tree62de6241f724d1cbc272ae2d20b49e94bc340a80 /lib/copy-acl.c
parent93f084065374412df9f0dae283e51e59267928fd (diff)
downloadgnulib-fb3917caac20bdcf09b53c1f8d43d0676e5db8b2.tar.gz
Simplify #ifs. Put Solaris code after POSIX-like code.
Diffstat (limited to 'lib/copy-acl.c')
-rw-r--r--lib/copy-acl.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/copy-acl.c b/lib/copy-acl.c
index 2a32f7d0d8..eefbff768b 100644
--- a/lib/copy-acl.c
+++ b/lib/copy-acl.c
@@ -41,7 +41,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
{
int ret;
-#if USE_ACL && HAVE_ACL_GET_FILE && HAVE_ACL_SET_FILE && HAVE_ACL_FREE
+#if USE_ACL && HAVE_ACL_GET_FILE
/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
/* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
@@ -125,23 +125,20 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
}
return 0;
-#else
-
-# if USE_ACL && defined ACL_NO_TRIVIAL
+#elif USE_ACL && defined ACL_NO_TRIVIAL
/* Solaris 10 NFSv4 ACLs. */
+
acl_t *aclp = NULL;
ret = (source_desc < 0
? acl_get (src_name, ACL_NO_TRIVIAL, &aclp)
: facl_get (source_desc, ACL_NO_TRIVIAL, &aclp));
if (ret != 0 && errno != ENOSYS)
return -2;
-# endif
ret = qset_acl (dst_name, dest_desc, mode);
if (ret != 0)
return -1;
-# if USE_ACL && defined ACL_NO_TRIVIAL
if (aclp)
{
ret = (dest_desc < 0
@@ -157,9 +154,13 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
}
acl_free (aclp);
}
-# endif
return 0;
+
+#else
+
+ return qset_acl (dst_name, dest_desc, mode);
+
#endif
}