[PATCH 8/8] doc: document AT_EMPTY_PATH glitches

Paul Eggert <[email protected]>
Newsgroups gmane.comp.lib.gnulib.bugs
Message-ID <[email protected]>
---
 doc/glibc-functions/name_to_handle_at.texi | 5 +++++
 doc/glibc-functions/statx.texi             | 4 ++++
 doc/posix-functions/faccessat.texi         | 7 +++++++
 doc/posix-functions/fchmodat.texi          | 9 +++++++++
 doc/posix-functions/fchownat.texi          | 4 ++++
 doc/posix-functions/fstatat.texi           | 4 ++++
 doc/posix-functions/utimensat.texi         | 4 ++++
 doc/posix-headers/fcntl.texi               | 5 +++--
 8 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/doc/glibc-functions/name_to_handle_at.texi b/doc/glibc-functions/name_to_handle_at.texi
index e9cca7d278..e732af2b0e 100644
--- a/doc/glibc-functions/name_to_handle_at.texi
+++ b/doc/glibc-functions/name_to_handle_at.texi
@@ -16,4 +16,9 @@ name_to_handle_at
 This function exists only on Linux and is therefore
 missing on all non-glibc platforms:
 glibc 2.13, macOS 14, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.9, Minix 3.1.8, AIX 7.1, HP-UX 11.31, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
+
+@item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10.
 @end itemize
diff --git a/doc/glibc-functions/statx.texi b/doc/glibc-functions/statx.texi
index 2544a88b82..d57b488dd2 100644
--- a/doc/glibc-functions/statx.texi
+++ b/doc/glibc-functions/statx.texi
@@ -16,6 +16,10 @@ statx
 This function is missing on many platforms:
 glibc 2.27, macOS 14, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.9, Minix 3.1.8, AIX 7.1, HP-UX 11.31, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android API level 29.
 @item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10.
+@item
 There is an incompatible function of the same name on some platforms:
 AIX 5.2 or newer.
 @end itemize
diff --git a/doc/posix-functions/faccessat.texi b/doc/posix-functions/faccessat.texi
index 4f32235f9e..3c4a8a951b 100644
--- a/doc/posix-functions/faccessat.texi
+++ b/doc/posix-functions/faccessat.texi
@@ -34,6 +34,13 @@ faccessat
 after a process starts as root and then becomes non-root:
 @c https://sourceware.org/PR18683
 GNU/Linux with glibc 2.32.
+@item
+This function does not support @code{AT_EMPTY_PATH}:
+Linux kernel 2.6.38.
+@item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+glibc 2.41, Linux kernel 6.10, Cygwin 3.6, FreeBSD 15.1.
 @end itemize
 
 Other problems of this function:
diff --git a/doc/posix-functions/fchmodat.texi b/doc/posix-functions/fchmodat.texi
index 2b81e807e4..43cde46e2b 100644
--- a/doc/posix-functions/fchmodat.texi
+++ b/doc/posix-functions/fchmodat.texi
@@ -32,6 +32,15 @@ fchmodat
 Some platforms do not allow changing the access bits on symbolic
 links.
 
+@item
+This function does not support @code{AT_EMPTY_PATH}:
+Linux kernel 2.6.38.
+
+@item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10, Cygwin 3.6, FreeBSD 15.1.
+
 @item
 If the @code{AT_SYMLINK_NOFOLLOW} flag is specified,
 this function can fail with @code{errno} set to @code{EMFILE} or @code{ENFILE},
diff --git a/doc/posix-functions/fchownat.texi b/doc/posix-functions/fchownat.texi
index 884bc0a8ba..ca25c42563 100644
--- a/doc/posix-functions/fchownat.texi
+++ b/doc/posix-functions/fchownat.texi
@@ -41,6 +41,10 @@ fchownat
 Portability problems not fixed by Gnulib:
 @itemize
 @item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10, Cygwin 3.6, FreeBSD 15.1.
+@item
 This function sometimes fails with @code{EACCES} when the failure is
 due to lack of appropriate privileges (@code{EPERM}), not to
 search permission denied on the file name prefix (@code{EACCES}):
diff --git a/doc/posix-functions/fstatat.texi b/doc/posix-functions/fstatat.texi
index ee3b075232..1f7ab3124b 100644
--- a/doc/posix-functions/fstatat.texi
+++ b/doc/posix-functions/fstatat.texi
@@ -42,6 +42,10 @@ fstatat
 on some platforms, even when @code{AT_EMPTY_PATH} is not used:
 glibc 2.7, Linux 2.6.38.
 @item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10, Cygwin 3.6, FreeBSD 15.1.
+@item
 This function sets @code{st_ino} only to the low-order 32 bits of
 the inode number of a socket or pipe, which thus can disagree
 with the @code{st_ino} obtained by @code{fstat}:
diff --git a/doc/posix-functions/utimensat.texi b/doc/posix-functions/utimensat.texi
index ccac6c97f4..0441140731 100644
--- a/doc/posix-functions/utimensat.texi
+++ b/doc/posix-functions/utimensat.texi
@@ -51,6 +51,10 @@ utimensat
 this function might not modify the access time as requested:
 Linux kernel 6.9.
 @item
+When @code{AT_EMPTY_PATH} is used,
+this function does not allow the file name to be a null pointer:
+Linux kernel 6.10, Cygwin 3.6, FreeBSD 15.1.
+@item
 This function ignores the flag @code{AT_SYMLINK_NOFOLLOW}:
 Linux kernel 6.8 on a CIFS file system.
 @item
diff --git a/doc/posix-headers/fcntl.texi b/doc/posix-headers/fcntl.texi
index 3eeabfed65..420642f7c0 100644
--- a/doc/posix-headers/fcntl.texi
+++ b/doc/posix-headers/fcntl.texi
@@ -129,8 +129,9 @@ fcntl.h
 Mac OS X 10.3.
 
 @item
-@samp{O_PATH} is not defined on some platforms:
-glibc 2.13, macOS 13, FreeBSD 13.0, NetBSD 9.2, OpenBSD 7.1, Minix 3.3.0, AIX 7.3, HP-UX 11.31, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14.
+@samp{O_PATH} and @samp{AT_EMPTY_PATH} are not defined on some platforms:
+glibc 2.13, macOS 26, FreeBSD 13.0, NetBSD 10.1, OpenBSD 7.9, Minix 3.3.0,
+AIX 7.3, HP-UX 11.31, Solaris 11.4, Cygwin 3.0, mingw, MSVC 14.
 
 @item
 Although POSIX.1-2024 standardized @code{O_CLOFORK},
-- 
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.