]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
fstatat, stat: document macOS st_ino pipe bug
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 19 Apr 2024 07:29:32 +0000 (00:29 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 19 Apr 2024 07:29:32 +0000 (00:29 -0700)
* doc/posix-functions/fstatat.texi (fstatat):
* doc/posix-functions/stat.texi (stat):
Document macOS bug (see <https://bugs.gnu.org/70411>).

ChangeLog
doc/posix-functions/fstatat.texi
doc/posix-functions/stat.texi

index 7ce75a98a96d09e57c7225d4d9fc35253c85220a..1667f90c55c7f9fd62bb2b28b12a9f9def7e3ac4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-04-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fstatat, stat: document macOS st_ino pipe bug
+       * doc/posix-functions/fstatat.texi (fstatat):
+       * doc/posix-functions/stat.texi (stat):
+       Document macOS bug (see <https://bugs.gnu.org/70411>).
+
 2024-04-18  Bruno Haible  <bruno@clisp.org>
 
        totalordermagl: Add tests.
index e959a5cc7377567b347f1642bb6c889157180fe4..90884e2eb12582caa4264838ee2ab22eeb3e62fe 100644 (file)
@@ -40,5 +40,10 @@ This function does not fail when the second argument is an empty string
 on some platforms, even when @code{AT_EMPTY_PATH} is not used:
 glibc 2.7, Linux 2.6.38.
 @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}:
+macOS 14.
+@item
 @xref{sys/stat.h}, for general portability problems with @code{struct stat}.
 @end itemize
index f655451392784616dc47694cc968ec727edba44f..8afd3b17bbf660233ce9a085546cf272fa638d01 100644 (file)
@@ -50,6 +50,11 @@ Portability problems not fixed by Gnulib:
 Cygwin's @code{stat} function sometimes sets @code{errno} to @code{EACCES} when
 @code{ENOENT} would be more appropriate.
 @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}:
+macOS 14.
+@item
 Because of the definition of @code{struct stat}, it is not possible to
 portably replace @code{stat} via an object-like macro.  Therefore,
 expressions such as @code{(islnk ? lstat : stat) (name, buf)} are not