From 6e398bee5adc9a88a0023767c457621e596e44c4 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Mon, 7 Oct 2024 14:59:00 +0200
Subject: [PATCH] file-has-acl: Fix test failure on Cygwin.

* lib/file-has-acl.c (file_has_aclinfo): On Cygwin, don't fail if
acl_get_file (name, ACL_TYPE_DEFAULT) returns NULL on a file of unknown
type.
---
 ChangeLog          | 7 +++++++
 lib/file-has-acl.c | 9 ++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index d58f75c05f..3cfb8d854e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-10-07  Bruno Haible  <bruno@clisp.org>
+
+	file-has-acl: Fix test failure on Cygwin.
+	* lib/file-has-acl.c (file_has_aclinfo): On Cygwin, don't fail if
+	acl_get_file (name, ACL_TYPE_DEFAULT) returns NULL on a file of unknown
+	type.
+
 2024-10-07  Bruno Haible  <bruno@clisp.org>
 
 	file-has-acl: Fix performance regression on FreeBSD, Cygwin.
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c
index 0dfd25b52a..64291e02d4 100644
--- a/lib/file-has-acl.c
+++ b/lib/file-has-acl.c
@@ -483,7 +483,14 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name,
 #    endif
                 }
               else
-                ret = -1;
+                {
+#    ifdef __CYGWIN__ /* Cygwin >= 2.5 */
+                  if (d_type == DT_UNKNOWN)
+                    ret = 0;
+                  else
+#    endif
+                    ret = -1;
+                }
             }
 #   endif
         }
-- 
2.39.5