]> pd.if.org Git - zpackage/blobdiff - lib/script_hash.c
use stage instead of phase in script_hash
[zpackage] / lib / script_hash.c
index c559e877dfbcaa3d72e3a6d0bedc9b983551764a..60c87ede8eb4e1b23ab107f40f93de479d0f01bd 100644 (file)
@@ -1,3 +1,5 @@
+#define _POSIX_C_SOURCE 200809L
+
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
@@ -7,15 +9,18 @@
 
 int zpm_script_hash(struct zpm *zpm, char *pkgstr, char *phase, char *hash) {
        char *pkgid = 0;
-       char *template = "select hash from scripts_pkgid where pkgid = %Q and phase = %Q";
+       char *template = "select hash from scripts_pkgid where pkgid = %Q and stage = %Q";
        sqlite3_stmt *st;
 
        pkgid = zpm_findpkg(zpm, pkgstr);
 
        st = zpm_dbquery(zpm, template, pkgid, phase);
+
        free(pkgid);
 
        if (!st) {
+               zpm->error = 1;
+               zpm->errmsg = strdup(sqlite3_errmsg(zpm->db));
                return 0;
        }
 
@@ -26,6 +31,7 @@ int zpm_script_hash(struct zpm *zpm, char *pkgstr, char *phase, char *hash) {
                        hash[ZPM_HASH_STRLEN] = 0;
                        break;
                default: zpm->error = 1; /* fall through */
+                        zpm->errmsg = strdup(sqlite3_errmsg(zpm->db));
                case SQLITE_DONE:
                        sqlite3_finalize(st);
                        return 0; break; /* not found */