Paul Eggert wrote:
> (acl_get_fdfile): New function, if needed.

This patch leads to a compilation error on Solaris. Found by the CI
on Solaris 11.4:

../../gllib/file-has-acl.c: In function ‘acl_get_fdfile’:
../../gllib/file-has-acl.c:413:45: error: ‘acl_get_file’ undeclared (first use 
in this function); did you mean ‘acl_get_fdfile’?
  413 |   acl_t (*get) (char const *, acl_type_t) = acl_get_file;
      |                                             ^~~~~~~~~~~~
      |                                             acl_get_fdfile
../../gllib/file-has-acl.c:413:45: note: each undeclared identifier is reported 
only once for each function it appears in
At top level:
../../gllib/file-has-acl.c:411:1: warning: ‘acl_get_fdfile’ defined but not 
used [-Wunused-function]
  411 | acl_get_fdfile (int fd, char const *name, acl_type_t type, int flags)
      | ^~~~~~~~~~~~~~
*** Error code 1
make: Fatal error: Command failed for target `file-has-acl.o'

and likewise on Solaris 11 OmniOS.

This patch fixes it.


2025-05-12  Bruno Haible  <br...@clisp.org>

        file-has-acl: Fix compilation error on Solaris (regression 2025-05-09).
        * lib/file-has-acl.c (acl_get_fdfile): Don't define on platforms that
        don't need it.

diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
index a356ee0d0b..a9cfbf3a16 100644
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -382,10 +382,11 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes)
 }
 #endif
 
-#if (!USE_LINUX_XATTR && USE_ACL && !HAVE_ACL_EXTENDED_FILE \
-     && !HAVE_ACL_TYPE_EXTENDED)
+#if (!USE_LINUX_XATTR && USE_ACL && HAVE_ACL_GET_FILE \
+     && !HAVE_ACL_EXTENDED_FILE && !HAVE_ACL_TYPE_EXTENDED)
+/* FreeBSD, NetBSD >= 10, IRIX, Tru64, Cygwin >= 2.5 */
 
-# if HAVE_ACL_GET_FD && !HAVE_ACL_GET_LINK_NP
+# if HAVE_ACL_GET_FD && !HAVE_ACL_GET_LINK_NP /* IRIX, Tru64, Cygwin >= 2.5 */
 #  include <fcntl.h>
 #  ifdef O_PATH
 #   define acl_get_fd_np(fd, type) acl_get_fd (fd)




Reply via email to