From bd6c3f35ae226125737503dddac48e7924425b49 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 6 Feb 2015 16:42:44 -0600 Subject: [PATCH] Alright, the Android guys agree with the musl guys: faccessat(AT_SYMLINK_NOFOLLOW) is not supported. --- lib/portability.h | 6 ------ toys/posix/rm.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/portability.h b/lib/portability.h index 143d10f..70e33bf 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 #endif -#ifdef __MUSL__ -#include -// 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 9561a67..7b7916c 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; } -- 2.7.4