On mingw, I'm seeing test-euidaccess failures: ../../gltests/test-access.h:54: assertion 'errno == ENOTDIR' failed Stack trace: 0xcd2ea6c5 test_access ../../gltests/test-access.h:54 0xcd2ea6c5 main ../../gltests/test-euidaccess.c:37
../../gltests/test-access.h:56: assertion 'errno == ENOTDIR' failed Stack trace: 0xcd2ea786 test_access ../../gltests/test-access.h:56 0xcd2ea786 main ../../gltests/test-euidaccess.c:37 ../../gltests/test-access.h:58: assertion 'errno == ENOTDIR' failed Stack trace: 0xcd2ea847 test_access ../../gltests/test-access.h:58 0xcd2ea847 main ../../gltests/test-euidaccess.c:37 ../../gltests/test-access.h:60: assertion 'errno == ENOTDIR' failed Stack trace: 0xcd2ea90c test_access ../../gltests/test-access.h:60 0xcd2ea90c main ../../gltests/test-euidaccess.c:37 FAIL test-euidaccess.exe (exit status: 1) Likewise on MSVC. This patch fixes it. 2024-05-25 Bruno Haible <br...@clisp.org> euidaccess: Fix test failure on native Windows. * lib/euidaccess.c: Don't include <io.h>. (euidaccess): On native Windows, invoke access, not _access. diff --git a/lib/euidaccess.c b/lib/euidaccess.c index ad392dba19..6229f2c0d0 100644 --- a/lib/euidaccess.c +++ b/lib/euidaccess.c @@ -29,9 +29,7 @@ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> -#if defined _WIN32 && ! defined __CYGWIN__ -# include <io.h> -#else +#if !(defined _WIN32 && ! defined __CYGWIN__) # include "root-uid.h" #endif @@ -88,7 +86,7 @@ euidaccess (const char *file, int mode) #elif HAVE_EACCESS /* FreeBSD */ return eaccess (file, mode); #elif defined _WIN32 && ! defined __CYGWIN__ /* mingw */ - return _access (file, mode); + return access (file, mode); #else /* Mac OS X, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, BeOS */ uid_t uid = getuid ();