2
0
Эх сурвалжийг харах

Removed unused include and added missing close()-call.

Jonas Borgström 12 жил өмнө
parent
commit
8bdda86ab4
1 өөрчлөгдсөн 9 нэмэгдсэн , 4 устгасан
  1. 9 4
      darc/_hashindex.c

+ 9 - 4
darc/_hashindex.c

@@ -1,5 +1,4 @@
 #include <assert.h>
-#include <endian.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
@@ -154,12 +153,18 @@ hashindex_open(const char *path)
     }
     if((length = lseek(fd, 0, SEEK_END)) < 0) {
         EPRINTF_PATH(path, "lseek failed");
-        close(fd);
+        if(close(fd) < 0) {
+            EPRINTF_PATH(path, "close failed");
+        }
+        return NULL;
+    }
+    addr = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+    if(close(fd) < 0) {
+        EPRINTF_PATH(path, "close failed");
         return NULL;
     }
-    if((addr = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) {
+    if(addr == MAP_FAILED) {
         EPRINTF_PATH(path, "mmap failed");
-        close(fd);
         return NULL;
     }
     header = (HashHeader *)addr;