[RFC PATCH 11/38] rename: prefer renameat syscall
Jonas Bonn
jonas at southpole.se
Tue Sep 6 08:30:35 UTC 2011
Signed-off-by: Jonas Bonn <jonas at southpole.se>
---
libc/sysdeps/linux/common/rename.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/libc/sysdeps/linux/common/rename.c b/libc/sysdeps/linux/common/rename.c
index 9d8397a..51e2633 100644
--- a/libc/sysdeps/linux/common/rename.c
+++ b/libc/sysdeps/linux/common/rename.c
@@ -12,6 +12,15 @@
#include <string.h>
#include <sys/param.h>
#include <stdio.h>
+#include <fcntl.h>
+
+#ifdef __NR_renameat
+int rename(const char *oldpath, const char *newpath)
+{
+ return renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath);
+}
+
+#else
#define __NR___syscall_rename __NR_rename
static __inline__ _syscall2(int, __syscall_rename, const char *, oldpath,
@@ -22,3 +31,4 @@ int rename(const char * oldpath, const char * newpath)
return __syscall_rename(oldpath, newpath);
}
+#endif
--
1.7.5.4
More information about the uClibc
mailing list