]> pd.if.org Git - zpackage/blobdiff - lib/dbquery.c
add zpm-search to look for packages and libraries
[zpackage] / lib / dbquery.c
index cba95378ae2a258c8351b9f3ac07191bc46ce337..11131645d9b4d388c7229665515b588492a4164e 100644 (file)
@@ -35,6 +35,7 @@ sqlite3_stmt *zpm_dbqueryv(struct zpm *zpm, char *query, va_list args) {
        rv = sqlite3_prepare_v2(db, sql, strlen(sql), &st, NULL);
        if (rv != SQLITE_OK) {
                SQLERROR(sqlite3_errmsg(db));
+               fprintf(stderr, "sql (%d): %s\n", rv, sql);
                zpm->error = rv;
                return 0;
        }
@@ -94,11 +95,18 @@ char *zpm_db_string(struct zpm *zpm, char *query, ...) {
 
        rv = sqlite3_step(st);
 
-       if (rv == SQLITE_ROW) {
+       switch (rv) {
+               case SQLITE_ROW:
                result = (char *)sqlite3_column_text(st, 0);
                if (result) {
                        result = strdup(result);
                }
+               break;
+               case SQLITE_DONE: break;
+               default:
+                                 zpm->error = 1;
+                                 zpm_seterror(zpm, "db error: %s", sqlite3_errstr(rv));
+                                 break;
        }
 
        sqlite3_finalize(st);