#include <sys/mman.h>
#include <unistd.h>
#include <fcntl.h>
+#include <errno.h>
#include "zpm.h"
#include "newdb.c"
int zpm_db_initialize(struct zpm *pkg) {
- fprintf(stderr, "initializing zpm database\n");
+ //fprintf(stderr, "initializing zpm database\n");
switch (sqlite3_exec(pkg->db, createdb, (int (*)(void *,int,char **,char **))0, NULL, NULL)) {
case SQLITE_OK: break;
default:
appid = zpm_db_pragma(pkg, 1);
dbver = zpm_db_pragma(pkg, 2);
- fprintf(stderr, "db appid = %x, dbver = %d\n", appid, dbver);
+ //fprintf(stderr, "db appid = %x, dbver = %d\n", appid, dbver);
switch (appid) {
case 0: if (!zpm_db_initialize(pkg)) {
sqlite3_close(db);
}
//fwrite(xzdata, blobsize, 1, stdout);
- fprintf(stderr, "uncompressing %d bytes at %p, expect %lld\n", blobsize, xzdata, (long long int)size);
+ //fprintf(stderr, "uncompressing %d bytes at %p, expect %lld\n", blobsize, xzdata, (long long int)size);
uncompresslzma(xzdata, blobsize, out);
fclose(out);
/* 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) {
+ 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 */
+ 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) {
+ fprintf(stderr, "%s can't mmap %s: %s\n", __FUNCTION__, path,strerror(errno));
return 0;
}
hash[64] = 0;
fprintf(stderr, "file %s: %s\n", path, hash);
-
/* prepare and bind */
/* TODO check null */
sqlite3 *db = pkg->db;