Hi Paul, On 2022-06-12 you wrote: > Although I don't have MS-Windows I stared at > the code a bit and I think I see what might be the problem. I found some > other potential issues too (basically, I didn't switch from > fstatat/lstat to readlinkat/readlink often enough so the code is still > prone to EOVERFLOW problems). I installed the attached further patch, > which I hope fixes things on MS-Windows and fixes the other issues too.
Unfortunately, this patch not only does not fix the failures on native Windows; it also introduces two other problems. In detail: * All tests pass on FreeBSD 13.0, NetBSD 9.0, OpenBSD 7.0, Solaris 10 and 11, Cygwin. * On a Linux system (Ubuntu 20.04), there is a new compilation warning ../../gllib/fchmodat.c: In function ‘rpl_fchmodat’: ../../gllib/fchmodat.c:99:12: warning: unused variable ‘buf’ [-Wunused-variable] 99 | char buf[1]; | ^~~ IMO this variable 'buf' can be removed. * On AIX 7.2 there is a new test failure FAIL: test-lchmod ================= ../../gltests/test-lchmod.c:46: assertion 'lchmod (BASE "file/", 0600) == -1' failed FAIL test-lchmod (exit status: 134) Probably this is related to the AIX 7.2 bug that we mention in doc/posix-functions/fchmodat.texi. * On native Windows there are still the two test failures FAIL: test-fchmodat =================== ../../gltests/test-fchmodat.c:61: assertion 'errno == ENOTDIR' failed FAIL test-fchmodat.exe (exit status: 3) FAIL: test-lchmod ================= ../../gltests/test-lchmod.c:47: assertion 'errno == ENOTDIR' failed FAIL test-lchmod.exe (exit status: 3) Bruno