Next: rewind
, Previous: rename
, Up: ISO C and POSIX Function Substitutes [Contents][Index]
renameat
POSIX specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/renameat.html
Gnulib module: renameat
Portability problems fixed by Gnulib:
<unistd.h>
, not in <stdio.h>
,
on some platforms:
NetBSD 7.0, Solaris 11.4.
<sys/stat.h>
, not in <stdio.h>
,
on some platforms:
Android 4.3.
renameat(fd,"file",fd,"new/")
:
Solaris 11.4.
renameat(fd,"link/",fd,"new")
corrupts link:
Solaris 9.
Portability problems not fixed by Gnulib:
renameat(fd,"symlink-to-dir/",fd,"dir2")
rename
dir and leave symlink-to-dir dangling; likewise, it
requires that renameat(fd,"dir",fd,"dangling/")
rename dir so
that dangling is no longer a dangling symlink. This behavior
is counter-intuitive, so on some systems, renameat
fails with
ENOTDIR
if either argument is a symlink with a trailing slash:
glibc, OpenBSD, Cygwin 1.7.
renameat
do nothing and return 0 if the
source and destination are hard links to the same file. This behavior
is counterintuitive, and on some systems renameat
is a no-op in
this way only if the source and destination identify the same
directory entry. On these systems, for example, although renaming
./f to f is a no-op, renaming f to g
deletes f when f and g are hard links to the same
file:
NetBSD 7.0.
stat
function
for 30 seconds after the rename, on NFS file systems, on some platforms:
Linux 2.6.18.
Next: rewind
, Previous: rename
, Up: ISO C and POSIX Function Substitutes [Contents][Index]