mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
* doc/posix-functions/faccessat.texi (faccessat): Mention known issue with replacement. * doc/posix-functions/fchdir.texi (fchdir): Likewise. * doc/posix-functions/linkat.texi (linkat): Likewise. * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise. * doc/posix-functions/mknodat.texi (mknodat): Likewise. * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. * doc/posix-functions/renameat.texi (renameat): Likewise. * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
@node renameat
|
|
@section @code{renameat}
|
|
@findex renameat
|
|
|
|
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/renameat.html}
|
|
|
|
Gnulib module: renameat
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function does not reject trailing slashes on non-directories on
|
|
some platforms, as in @code{renameat(fd,"file",fd,"new/")}:
|
|
Solaris 10.
|
|
@item
|
|
This function ignores trailing slashes on symlinks on some platforms,
|
|
such that @code{renameat(fd,"link/",fd,"new")} corrupts @file{link}:
|
|
Solaris 9.
|
|
@item
|
|
This function is missing on some platforms:
|
|
glibc 2.3.6, MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX
|
|
5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 8, Cygwin 1.5.x, mingw,
|
|
Interix 3.5, BeOS.
|
|
But the replacement function is not safe to be used in libraries and is not multithread-safe.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
POSIX requires that @code{renameat(fd,"symlink-to-dir/",fd,"dir2")} rename
|
|
@file{dir} and leave @file{symlink-to-dir} dangling; likewise, it
|
|
requires that @code{renameat(fd,"dir",fd,"dangling/")} rename @file{dir} so
|
|
that @file{dangling} is no longer a dangling symlink. This behavior
|
|
is counter-intuitive, so on some systems, @code{renameat} fails with
|
|
@code{ENOTDIR} if either argument is a symlink with a trailing slash:
|
|
glibc, OpenBSD, Cygwin 1.7.
|
|
@item
|
|
This function will not rename a source that is currently opened
|
|
by any process:
|
|
mingw.
|
|
@end itemize
|