make remove(3) remove directories as well
This commit is contained in:
parent
f80aaae86a
commit
1d0e43c8f1
1 changed files with 15 additions and 1 deletions
|
@ -4,10 +4,24 @@
|
|||
/* $Header$ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
int _rmdir(const char *path);
|
||||
int _unlink(const char *path);
|
||||
|
||||
int
|
||||
remove(const char *filename) {
|
||||
return _unlink(filename);
|
||||
int saved_errno, retval;
|
||||
|
||||
saved_errno = errno;
|
||||
|
||||
retval = _rmdir(filename);
|
||||
|
||||
if (retval == -1 && errno == ENOTDIR) {
|
||||
errno = saved_errno;
|
||||
|
||||
retval = _unlink(filename);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue