Browse Source

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

Rich Felker 14 năm trước cách đây
mục cha
commit
9646e4d024
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  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;
 }