[PATCH] readlinkat: document GNU/Linux "" divergence

Paul Eggert <[email protected]>
Newsgroups gmane.comp.lib.gnulib.bugs
Message-ID <[email protected]>
---
 doc/posix-functions/readlinkat.texi | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/doc/posix-functions/readlinkat.texi b/doc/posix-functions/readlinkat.texi
index 0d664437a5..ed362fbb43 100644
--- a/doc/posix-functions/readlinkat.texi
+++ b/doc/posix-functions/readlinkat.texi
@@ -44,6 +44,15 @@ readlinkat
 Portability problems not fixed by Gnulib:
 @itemize
 @item
+Behaviors differ when this function is called on an empty file name.
+On most platforms, the function fails with error @code{ENOENT}.
+On Cygnus 3.4.6, the function fails with error @code{EBADF} instead.
+@c https://cygwin.com/pipermail/cygwin/2023-April/253510.html
+On GNU/Linux (kernel version 2.6.39 or later), when @var{dirfd} is
+nonnegative the function instead reads directly from @var{dirfd},
+and this succeeds if @var{dirfd} corresponds to a symbolic link that
+was opened with @code{O_PATH | O_NOFOLLOW}.
+@item
 This function always fails on platforms that don't support symlinks:
 mingw, MSVC 14.
 @item
@@ -60,11 +69,6 @@ readlinkat
 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,
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.