blob: ca5267b5c6dc2b8f8180f9ea0dc7d2b59b6d9a3c [file] [log] [blame]
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include "syscall.h"
int remove(const char* path) {
#ifdef SYS_unlink
int r = __syscall(SYS_unlink, path);
#else
int r = __syscall(SYS_unlinkat, AT_FDCWD, path, 0);
#endif
#ifdef SYS_rmdir
if (r == -EISDIR)
r = __syscall(SYS_rmdir, path);
#else
if (r == -EISDIR)
r = __syscall(SYS_unlinkat, AT_FDCWD, path, AT_REMOVEDIR);
#endif
return __syscall_ret(r);
}