Mercurial > hg > octave-jordi > gnulib-hg
changeset 17997:f7535e681d93
acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
* lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
module rewrite.
author | Andreas Gruenbacher <andreas.gruenbacher@gmail.com> |
---|---|
date | Fri, 29 May 2015 20:47:45 +0200 |
parents | 148bf471f772 |
children | 227d30aa4e05 |
files | ChangeLog lib/set-permissions.c |
diffstat | 2 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2015-05-29 Andreas Gruenbacher <andreas.gruenbacher@gmail.com> + acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681) + * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl + module rewrite. + acl-permissions: Fix build on Solaris and Cygwin Reported by Tom G. Christensen <tgc@jupiterrise.com>: * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
--- a/lib/set-permissions.c +++ b/lib/set-permissions.c @@ -566,7 +566,7 @@ { acl_free (acl); - acl = acl_init (acl); + acl = acl_init (0); if (acl) { if (HAVE_ACL_SET_FD && desc != -1) @@ -582,12 +582,13 @@ else { if (HAVE_ACL_SET_FD && desc != -1) - ret = acl_set_fd (desc, acl); + ret = acl_set_fd (desc, ctx->acl); else - ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl); + ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl); if (ret != 0) { - if (! acl_errno_valid (saved_errno) && ! acl_extended_nontrivial (acl)) + if (! acl_errno_valid (errno) + && ! acl_extended_nontrivial (ctx->acl)) ret = 0; } } @@ -696,9 +697,9 @@ if (ret == 0 && ctx->have_u) { if (desc != -1) - ret = fchacl (desc, &u.a, u.a.acl_len); + ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len); else - ret = chacl (name, &u.a, u.a.acl_len); + ret = chacl (name, &ctx->u.a, ctx->u.a.acl_len); if (ret < 0) { if (errno == ENOSYS && from_mode)