remove LFS64 symbol aliases; replace with dynamic linker remapping
[musl.git] / src / stdio / remove.c
blob942e301a4c035f491c6b0ffef47b8e1572312678
1 #include <stdio.h>
2 #include <errno.h>
3 #include <fcntl.h>
4 #include "syscall.h"
6 int remove(const char *path)
8 #ifdef SYS_unlink
9 int r = __syscall(SYS_unlink, path);
10 #else
11 int r = __syscall(SYS_unlinkat, AT_FDCWD, path, 0);
12 #endif
13 #ifdef SYS_rmdir
14 if (r==-EISDIR) r = __syscall(SYS_rmdir, path);
15 #else
16 if (r==-EISDIR) r = __syscall(SYS_unlinkat, AT_FDCWD, path, AT_REMOVEDIR);
17 #endif
18 return __syscall_ret(r);