1/*
2 * Copyright 2004-2009, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include <stdio.h>
8
9#include <errno.h>
10
11#include <errno_private.h>
12#include <syscalls.h>
13
14
15int
16remove(const char* path)
17{
18	// TODO: find a better way that does not require two syscalls for directories
19	int status = _kern_unlink(-1, path);
20	if (status == B_IS_A_DIRECTORY)
21		status = _kern_remove_dir(-1, path);
22
23	if (status != B_OK) {
24		__set_errno(status);
25		return -1;
26	}
27
28	return status;
29}
30
31