blob: 942e301a4c035f491c6b0ffef47b8e1572312678 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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);
}
|