Quellcode durchsuchen

LibC: Make remove() propagate non-EISDIR unlink() errors

Regressed in 16105091ba5cb8e9d81eabcb499e70b1907ffc08.
Andreas Kling vor 3 Jahren
Ursprung
Commit
c93687c15e
1 geänderte Dateien mit 5 neuen und 2 gelöschten Zeilen
  1. 5 2
      Userland/Libraries/LibC/stdio.cpp

+ 5 - 2
Userland/Libraries/LibC/stdio.cpp

@@ -1236,8 +1236,11 @@ int pclose(FILE* stream)
 
 
 int remove(const char* pathname)
 int remove(const char* pathname)
 {
 {
-    if (unlink(pathname) < 0 && errno == EISDIR)
-        return rmdir(pathname);
+    if (unlink(pathname) < 0) {
+        if (errno == EISDIR)
+            return rmdir(pathname);
+        return -1;
+    }
     return 0;
     return 0;
 }
 }