Ver Fonte

fix messed-up errno if remove fails for a non-EISDIR reason

Rich Felker há 14 anos atrás
pai
commit
9646e4d024
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      src/stdio/remove.c

+ 2 - 2
src/stdio/remove.c

@@ -4,6 +4,6 @@
 
 int remove(const char *path)
 {
-	return (syscall(SYS_unlink, path) && errno == EISDIR)
-		? syscall(SYS_rmdir, path) : 0;
+	int r = syscall(SYS_unlink, path);
+	return (r && errno == EISDIR) ? syscall(SYS_rmdir, path) : r;
 }