readlinkat() has a bug on Cygwin, that's not worth working around. So I'm just documenting it:
2023-04-18 Bruno Haible <[email protected]> doc: Mention a Cygwin 3.4.6 bug. * doc/posix-functions/readlinkat.texi: Mention a readlinkat bug on Cygwin < 3.4.7. diff --git a/doc/posix-functions/readlinkat.texi b/doc/posix-functions/readlinkat.texi index 2cd2e7be5b..96ae7ec67a 100644 --- a/doc/posix-functions/readlinkat.texi +++ b/doc/posix-functions/readlinkat.texi @@ -55,6 +55,11 @@ it sets @code{errno} to @code{EINVAL}: AIX 7.2. @item +When this function is called on an empty file name, it fails with error +@code{EBADF} instead of @code{ENOENT}: +@c https://cygwin.com/pipermail/cygwin/2023-April/253510.html +Cygwin 3.4.6. +@item Symlink contents do not always have a trailing null byte, and there is no indication if symlink contents were truncated if the return value matches the length. Furthermore,
