Commit 08c3fc2e backported to tar-1.35:

The acl.h header from libacl uses acl_ prefix for its functions. Avoid
defining functions with the same name in order to protect its namespace.
---
 src/xattrs.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/xattrs.c b/src/xattrs.c
index 86a7e59c..c872ae30 100644
--- a/src/xattrs.c
+++ b/src/xattrs.c
@@ -139,13 +139,13 @@ static struct
 #ifdef HAVE_POSIX_ACLS
 
 /* acl-at wrappers, TODO: move to gnulib in future? */
-static acl_t acl_get_file_at (int, const char *, acl_type_t);
-static int acl_set_file_at (int, const char *, acl_type_t, acl_t);
+static acl_t tar_acl_get_file_at (int, const char *, acl_type_t);
+static int tar_acl_set_file_at (int, const char *, acl_type_t, acl_t);
 static int file_has_acl_at (int, char const *, struct stat const *);
-static int acl_delete_def_file_at (int, char const *);
+static int tar_acl_delete_def_file_at (int, char const *);
 
-/* acl_get_file_at */
-#define AT_FUNC_NAME acl_get_file_at
+/* tar_acl_get_file_at */
+#define AT_FUNC_NAME tar_acl_get_file_at
 #define AT_FUNC_RESULT acl_t
 #define AT_FUNC_FAIL (acl_t)NULL
 #define AT_FUNC_F1 acl_get_file
@@ -159,8 +159,8 @@ static int acl_delete_def_file_at (int, char const *);
 #undef AT_FUNC_POST_FILE_PARAM_DECLS
 #undef AT_FUNC_POST_FILE_ARGS
 
-/* acl_set_file_at */
-#define AT_FUNC_NAME acl_set_file_at
+/* tar_acl_set_file_at */
+#define AT_FUNC_NAME tar_acl_set_file_at
 #define AT_FUNC_F1 acl_set_file
 #define AT_FUNC_POST_FILE_PARAM_DECLS   , acl_type_t type, acl_t acl
 #define AT_FUNC_POST_FILE_ARGS          , type, acl
@@ -170,8 +170,8 @@ static int acl_delete_def_file_at (int, char const *);
 #undef AT_FUNC_POST_FILE_PARAM_DECLS
 #undef AT_FUNC_POST_FILE_ARGS
 
-/* acl_delete_def_file_at */
-#define AT_FUNC_NAME acl_delete_def_file_at
+/* tar_acl_delete_def_file_at */
+#define AT_FUNC_NAME tar_acl_delete_def_file_at
 #define AT_FUNC_F1 acl_delete_def_file
 #define AT_FUNC_POST_FILE_PARAM_DECLS
 #define AT_FUNC_POST_FILE_ARGS
@@ -299,10 +299,10 @@ xattrs__acls_set (struct tar_stat_info const *st,
       /* No "default" IEEE 1003.1e ACL set for directory.  At this moment,
          FILE_NAME may already have inherited default acls from parent
          directory;  clean them up. */
-      if (acl_delete_def_file_at (chdir_fd, file_name))
+      if (tar_acl_delete_def_file_at (chdir_fd, file_name))
         WARNOPT (WARN_XATTR_WRITE,
                 (0, errno,
-                 _("acl_delete_def_file_at: Cannot drop default POSIX ACLs "
+                 _("tar_acl_delete_def_file_at: Cannot drop default POSIX ACLs 
"
                    "for file '%s'"),
                  file_name));
       return;
@@ -316,11 +316,11 @@ xattrs__acls_set (struct tar_stat_info const *st,
       return;
     }
 
-  if (acl_set_file_at (chdir_fd, file_name, type, acl) == -1)
+  if (tar_acl_set_file_at (chdir_fd, file_name, type, acl) == -1)
     /* warn even if filesystem does not support acls */
     WARNOPT (WARN_XATTR_WRITE,
             (0, errno,
-             _ ("acl_set_file_at: Cannot set POSIX ACLs for file '%s'"),
+             _ ("tar_acl_set_file_at: Cannot set POSIX ACLs for file '%s'"),
              file_name));
 
   acl_free (acl);
@@ -357,10 +357,10 @@ acls_get_text (int parentfd, const char *file_name, 
acl_type_t type,
   char *val = NULL;
   acl_t acl;
 
-  if (!(acl = acl_get_file_at (parentfd, file_name, type)))
+  if (!(acl = tar_acl_get_file_at (parentfd, file_name, type)))
     {
       if (errno != ENOTSUP)
-        call_arg_warn ("acl_get_file_at", file_name);
+        call_arg_warn ("tar_acl_get_file_at", file_name);
       return;
     }
 
-- 
2.55.0


Reply via email to