new: full implementation of remove and install functions

This commit is contained in:
ngn
2024-07-10 16:39:05 +03:00
parent d0dce209fa
commit f886bc08e4
30 changed files with 129 additions and 72 deletions

View File

@ -147,16 +147,16 @@ bool lm_database_package_next(lm_database_t *db, lm_pkg_t *pkg){
return false;
}
if(NULL == db->packages_st &&
if(NULL != db->packages_st)
lm_package_free(pkg);
else if(NULL == db->packages_st &&
sqlite3_prepare(db->packages_db, queries[QUERY_SELECT_PACKAGE_ALL], strlen(queries[QUERY_SELECT_PACKAGE_ALL]), &db->packages_st, NULL) != SQLITE_OK){
pdebug(__func__, "failed to prepare statement for selecting all: %s", sqlite3_errmsg(db->packages_db));
lm_error_set(LM_ERR_DbSqlPrepareFail);
return false;
}
else if(NULL != db->packages_st)
lm_package_free(pkg);
if(sqlite3_step(db->packages_st) != SQLITE_ROW){
sqlite3_finalize(db->packages_st);
db->packages_st = NULL;
@ -186,8 +186,10 @@ void lm_database_package_next_free(lm_database_t *db, lm_pkg_t *pkg){
return;
}
if(NULL != db->packages_st)
if(NULL != db->packages_st){
sqlite3_finalize(db->packages_st);
db->packages_st = NULL;
}
if(NULL != pkg)
lm_package_free(pkg);