return st;
}
+void zpm_db_run(struct zpm *zpm, char *query, ...) {
+ sqlite3_stmt *st;
+ va_list args;
+ int rv;
+
+ va_start(args, query);
+ st = zpm_dbqueryv(zpm, query, args);
+ va_end(args);
+
+ rv = sqlite3_step(st);
+
+ if (rv != SQLITE_DONE) {
+ zpm->error = 1;
+ zpm_seterror(zpm, "db error: %s", sqlite3_errstr(rv));
+ }
+
+ sqlite3_finalize(st);
+ return ;
+}
+
char *zpm_db_string(struct zpm *zpm, char *query, ...) {
sqlite3_stmt *st;
va_list args;
sqlite3_finalize(st);
return result;
}
+
+int zpm_db_int(struct zpm *zpm, char *query, ...) {
+ sqlite3_stmt *st;
+ va_list args;
+ int rv;
+ int result = 0;
+
+ va_start(args, query);
+ st = zpm_dbqueryv(zpm, query, args);
+ va_end(args);
+
+ rv = sqlite3_step(st);
+
+ if (rv == SQLITE_ROW) {
+ result = sqlite3_column_int(st, 0);
+ }
+ /* TODO set error if it's not SQLITE_ROW */
+
+ sqlite3_finalize(st);
+ return result;
+}