aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2015-02-06 16:42:44 -0600
committerRob Landley <rob@landley.net>2015-02-06 16:42:44 -0600
commitbd6c3f35ae226125737503dddac48e7924425b49 (patch)
treea69b157514a0febec29d84e780969e2022872d55
parent436a5c048e352fd6430de4376a083e5a2410c1a2 (diff)
downloadtoybox-bd6c3f35ae226125737503dddac48e7924425b49.tar.gz
Alright, the Android guys agree with the musl guys: faccessat(AT_SYMLINK_NOFOLLOW) is not supported.
-rw-r--r--lib/portability.h6
-rw-r--r--toys/posix/rm.c2
2 files changed, 1 insertions, 7 deletions
diff --git a/lib/portability.h b/lib/portability.h
index 143d10f6..70e33bf6 100644
--- a/lib/portability.h
+++ b/lib/portability.h
@@ -150,12 +150,6 @@ int utimensat(int fd, const char *path, const struct timespec times[2], int flag
#include <libgen.h>
#endif
-#ifdef __MUSL__
-#include <unistd.h>
-// Without this "rm -r dir" fails with "is directory".
-#define faccessat(A, B, C, D) faccessat(A, B, C, 0)
-#endif
-
// Work out how to do endianness
#ifndef __APPLE__
diff --git a/toys/posix/rm.c b/toys/posix/rm.c
index 9561a670..7b7916c2 100644
--- a/toys/posix/rm.c
+++ b/toys/posix/rm.c
@@ -48,7 +48,7 @@ static int do_rm(struct dirtree *try)
// handle directory recursion
if (dir) {
// Handle chmod 000 directories when -f
- if (faccessat(fd, try->name, R_OK, AT_SYMLINK_NOFOLLOW)) {
+ if (faccessat(fd, try->name, R_OK, 0)) {
if (toys.optflags & FLAG_f) wfchmodat(fd, try->name, 0700);
else goto skip;
}