]> pd.if.org Git - zpackage/commitdiff
add error reporting to import failures
authorNathan Wagner <nw@hydaspes.if.org>
Mon, 19 Sep 2016 02:59:17 +0000 (02:59 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 19 Sep 2016 02:59:17 +0000 (02:59 +0000)
lib/zpm.c

index 7be8c1e2914da7b9b8a9a905e5d05a8ff3f23314..4ffe0d3d89856618da5f2c86296604f2e5345e2c 100644 (file)
--- a/lib/zpm.c
+++ b/lib/zpm.c
@@ -6,6 +6,7 @@
 #include <sys/mman.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/mman.h>
 #include <unistd.h>
 #include <fcntl.h>
+#include <errno.h>
 
 #include "zpm.h"
 
 
 #include "zpm.h"
 
@@ -447,19 +448,23 @@ int zpm_import(struct zpm *pkg, char *path, uint32_t flags, char *hash) {
        /* mmap the file */
        fd = open(path, O_RDONLY);
        if (fd == -1) {
        /* mmap the file */
        fd = open(path, O_RDONLY);
        if (fd == -1) {
+               fprintf(stderr, "%s can't open %s: %s\n", __FUNCTION__, path,strerror(errno));
                return 0;
        }
        if (fstat(fd, &sbuf) == -1) {
                return 0;
        }
        if (fstat(fd, &sbuf) == -1) {
+               fprintf(stderr, "%s can't fstat %s: %s\n", __FUNCTION__, path,strerror(errno));
                return 0;
        }
        /* not a regular file? */
        if (!S_ISREG(sbuf.st_mode)) {
                /* TODO this is ok, just stored differently */
                return 0;
        }
        /* not a regular file? */
        if (!S_ISREG(sbuf.st_mode)) {
                /* TODO this is ok, just stored differently */
+               fprintf(stderr, "%s non-regular files unsupported %s\n", __FUNCTION__, path);
                return 0;
        }
 
        content = mmap(0, sbuf.st_size, PROT_READ,MAP_PRIVATE, fd, 0);
        if (!content) {
                return 0;
        }
 
        content = mmap(0, sbuf.st_size, PROT_READ,MAP_PRIVATE, fd, 0);
        if (!content) {
+               fprintf(stderr, "%s can't mmap %s: %s\n", __FUNCTION__, path,strerror(errno));
                return 0;
        }
 
                return 0;
        }
 
@@ -473,7 +478,6 @@ int zpm_import(struct zpm *pkg, char *path, uint32_t flags, char *hash) {
        hash[64] = 0;
        fprintf(stderr, "file %s: %s\n", path, hash);
 
        hash[64] = 0;
        fprintf(stderr, "file %s: %s\n", path, hash);
 
-
        /* prepare and bind */
        /* TODO check null */
        sqlite3 *db = pkg->db;
        /* prepare and bind */
        /* TODO check null */
        sqlite3 *db = pkg->db;