Browse Source

support archs with no renameat syscall, only renameat2

master
Drew DeVault 7 years ago
committed by Rich Felker
parent
commit
54316a52b2
  1. 6
      src/stdio/rename.c
  2. 4
      src/unistd/renameat.c

6
src/stdio/rename.c

@ -4,9 +4,11 @@
int rename(const char *old, const char *new)
{
#ifdef SYS_rename
#if defined(SYS_rename)
return syscall(SYS_rename, old, new);
#else
#elif defined(SYS_renameat)
return syscall(SYS_renameat, AT_FDCWD, old, AT_FDCWD, new);
#else
return syscall(SYS_renameat2, AT_FDCWD, old, AT_FDCWD, new, 0);
#endif
}

4
src/unistd/renameat.c

@ -3,5 +3,9 @@
int renameat(int oldfd, const char *old, int newfd, const char *new)
{
#ifdef SYS_renameat
return syscall(SYS_renameat, oldfd, old, newfd, new);
#else
return syscall(SYS_renameat2, oldfd, old, newfd, new, 0);
#endif
}

Loading…
Cancel
Save