From 78950f7af37b8e264119ca2e6a4cece82c921b6d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Oct 2007 14:03:13 -0700 Subject: [PATCH] * lib/acl.c (copy_acl): Adjust to IRIX 6.5. Problem reported by Bruno Haible. --- ChangeLog | 5 +++++ lib/acl.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4801d215c6..479905462d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-10-22 Paul Eggert + + * lib/acl.c (copy_acl): Adjust to IRIX 6.5. Problem reported + by Bruno Haible. + 2007-10-22 Ralf Wildenhues * lib/getloadavg.c diff --git a/lib/acl.c b/lib/acl.c index 0872e45915..c95a57115f 100644 --- a/lib/acl.c +++ b/lib/acl.c @@ -84,7 +84,12 @@ copy_acl (const char *src_name, int source_desc, const char *dst_name, int n = acl_entries (acl); acl_free (acl); - if (n == 3) + /* On most hosts an ACL is trivial if n == 3, and it cannot be + less than 3. On IRIX 6.5 it is also trivial if n == -1. + For simplicity and safety, assume the ACL is trivial if n <= 3. + Also see file_has_acl.c for some of the other possibilities; + it's not clear whether that complexity is needed here. */ + if (n <= 3) { if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) saved_errno = errno; -- 2.30.2