Branch
Hash :
d08b322e
Author :
Date :
2025-09-23T02:21:58
fchownat: Revert my earlier change today entirely. * doc/posix-functions/fchownat.texi: Revert last change.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
@node fchownat
@subsection @code{fchownat}
@findex fchownat
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/fchownat.html}
Gnulib module: fchownat
@mindex fchownat
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
glibc 2.3.6, Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8,
AIX 5.1, HP-UX 11, Cygwin 1.5.x, mingw, MSVC 14.
But the replacement function is not safe to be used in libraries and
is not multithread-safe. Also, the replacement may fail to change
symlinks if @code{lchown} is unsupported, or fail altogether if
@code{chown} is unsupported.
@item
This function is declared in @code{<sys/stat.h>}, not in @code{<unistd.h>},
on some platforms:
Android 4.3.
@item
Some platforms fail to detect trailing slash on non-directories, as in
@code{fchown(dir,"link-to-file/",uid,gid,flag)}:
Solaris 9.
@item
Some platforms fail to update the change time when at least one
argument was not @minus{}1, but no ownership changes resulted:
OpenBSD 7.7.
@item
Some platforms mistakenly dereference symlinks when using
@code{AT_SYMLINK_NOFOLLOW}:
Linux kernel 2.6.17.
@item
This function does not fail for an empty filename on some platforms:
Linux with glibc < 2.11.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@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}):
Linux kernel 5.15 with glibc 2.35 and a CIFS v1 file system
(see @url{https://bugs.gnu.org/65599}).
@end itemize