summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/stdio/remove.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libc/stdio/remove.c b/libc/stdio/remove.c
index c186164b8..af2850733 100644
--- a/libc/stdio/remove.c
+++ b/libc/stdio/remove.c
@@ -10,22 +10,19 @@
#include <unistd.h>
#include <errno.h>
-/* libc_hidden_proto(rmdir) */
-/* libc_hidden_proto(unlink) */
-
/* SUSv3 states:
* If path does not name a directory, remove(path) shall be equivalent
* to unlink(path). If path names a directory, remove(path) shall be
* equivalent to rmdir(path).
*/
-/* libc_hidden_proto(remove) */
int remove(register const char *filename)
{
int saved_errno = errno;
int rv;
- if (((rv = rmdir(filename)) < 0) && (errno == ENOTDIR)) {
+ rv = rmdir(filename);
+ if ((rv < 0) && (errno == ENOTDIR)) {
__set_errno(saved_errno); /* Need to restore errno. */
rv = unlink(filename);
}