#include "newdb.c"
int zpm_db_initialize(struct zpm *pkg) {
- //fprintf(stderr, "initializing zpm database\n");
char *error;
switch (sqlite3_exec(pkg->db, createdb, (int (*)(void *,int,char **,char **))0, NULL, &error)) {
case SQLITE_OK: break;
SQLERROR(sqlite3_errmsg(pkg->db));
fprintf(stderr, "error: %s\n", error);
sqlite3_free(error);
+ zpm_rollback(pkg);
return 0;
break;
}
if (!zpm->dberrmsg) {
zpm->error = 1;
}
+ } else {
+ zpm->dberrmsg = 0;
}
}
}
sqlite3_close(db);
}
fprintf(stderr, "error (%d): %s: %s\n", rc,
- pkg->dberrmsg, path);
+ pkg->dberrmsg ? pkg->dberrmsg : "null", path);
return 0;
}
int rc;
/* clear existing for this hash */
- if (!run_for_hash(db, "delete from elfinfo where file = ?", hash)) {
- SQLERP(db, "error clearing elf info");
- return 0;
- }
if (!run_for_hash(db, "delete from elflibraries where file = ?", hash)) {
SQLERP(db, "error clearing elf library");