add legacy euidaccess function and eaccess alias for it
[musl] / src / legacy / euidaccess.c
1 #include <unistd.h>
2 #include <fcntl.h>
3 #include <errno.h>
4 #include "syscall.h"
5 #include "libc.h"
6
7 int euidaccess(const char *filename, int amode)
8 {
9         int ret = __syscall(SYS_faccessat, AT_FDCWD, filename, amode, AT_EACCESS);
10         if (ret != -ENOSYS) return __syscall_ret(ret);
11
12         if (getuid() == geteuid() && getgid() == getegid())
13                 return syscall(SYS_access, filename, amode);
14
15         return __syscall_ret(-ENOSYS);
16 }
17
18 weak_alias(euidaccess, eaccess);