update: refactoring and small fixes
This commit is contained in:
@ -11,10 +11,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
size_t lm_database_files_count(lm_database_t *db, lm_pkg_t *pkg){
|
||||
size_t count = 0;
|
||||
ssize_t lm_database_files_count(lm_database_t *db, lm_entry_t *entry){
|
||||
ssize_t count = 0;
|
||||
|
||||
if(NULL == db || NULL == pkg){
|
||||
if(NULL == db || NULL == entry){
|
||||
lm_error_set(LM_ERR_ArgNULL);
|
||||
goto end;
|
||||
}
|
||||
@ -25,7 +25,7 @@ size_t lm_database_files_count(lm_database_t *db, lm_pkg_t *pkg){
|
||||
return false;
|
||||
}
|
||||
|
||||
sqlite3_bind_text(db->files_st, 1, pkg->name, strlen(pkg->name), SQLITE_STATIC);
|
||||
sqlite3_bind_text(db->files_st, 1, entry->name, strlen(entry->name), SQLITE_STATIC);
|
||||
|
||||
while(sqlite3_step(db->files_st) == SQLITE_ROW)
|
||||
count++;
|
||||
@ -37,7 +37,7 @@ end:
|
||||
return count;
|
||||
}
|
||||
|
||||
bool lm_database_files_contains(lm_database_t *db, lm_pkg_t *pkg, char *path){
|
||||
bool lm_database_files_contains(lm_database_t *db, lm_entry_t *entry, char *path){
|
||||
char *package = NULL;
|
||||
bool ret = false;
|
||||
|
||||
@ -60,8 +60,8 @@ bool lm_database_files_contains(lm_database_t *db, lm_pkg_t *pkg, char *path){
|
||||
goto end;
|
||||
}
|
||||
|
||||
package = (char*)sqlite3_column_text(db->files_st, FILES_COLUMN_PACKAGE-1);
|
||||
ret = eq(package, pkg->name);
|
||||
package = (char*)sqlite3_column_text(db->files_st, FILES_COLUMN_ENTRY-1);
|
||||
ret = eq(package, entry->name);
|
||||
end:
|
||||
if(NULL != db->files_st){
|
||||
sqlite3_finalize(db->files_st);
|
||||
@ -139,10 +139,10 @@ end:
|
||||
|
||||
}
|
||||
|
||||
bool lm_database_files_add(lm_database_t *db, lm_pkg_t *pkg, char *path, char *hash){
|
||||
bool lm_database_files_add(lm_database_t *db, lm_entry_t *entry, char *path, char *hash){
|
||||
bool ret = false;
|
||||
|
||||
if(NULL == db || NULL == pkg || NULL == path || NULL == hash){
|
||||
if(NULL == db || NULL == entry || NULL == path || NULL == hash){
|
||||
lm_error_set(LM_ERR_ArgNULL);
|
||||
goto end;
|
||||
}
|
||||
@ -155,14 +155,14 @@ bool lm_database_files_add(lm_database_t *db, lm_pkg_t *pkg, char *path, char *h
|
||||
|
||||
sqlite3_bind_text(db->files_st, FILES_COLUMN_PATH, path, strlen(path), SQLITE_STATIC);
|
||||
sqlite3_bind_text(db->files_st, FILES_COLUMN_HASH, hash, strlen(hash), SQLITE_STATIC);
|
||||
if(lm_package_keep_contains(pkg, path))
|
||||
if(lm_package_data_keep_contains(entry, path))
|
||||
sqlite3_bind_int(db->files_st, FILES_COLUMN_KEEP, 1);
|
||||
else
|
||||
sqlite3_bind_int(db->files_st, FILES_COLUMN_KEEP, 0);
|
||||
sqlite3_bind_text(db->files_st, FILES_COLUMN_PACKAGE, pkg->name, strlen(pkg->name), SQLITE_STATIC);
|
||||
sqlite3_bind_text(db->files_st, FILES_COLUMN_ENTRY, entry->name, strlen(entry->name), SQLITE_STATIC);
|
||||
|
||||
if(!lm_database_step_all(db->files_st)){
|
||||
pdebug(__func__, "failed to execute insert statement for inserting %s: %s", pkg->name, sqlite3_errmsg(db->files_db));
|
||||
pdebug(__func__, "failed to execute insert statement for inserting %s: %s", entry->name, sqlite3_errmsg(db->files_db));
|
||||
lm_error_set(LM_ERR_DbSqlInsertFail);
|
||||
goto end;
|
||||
}
|
||||
@ -176,8 +176,8 @@ end:
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool lm_database_files_del(lm_database_t *db, lm_pkg_t *pkg){
|
||||
if(NULL == db || NULL == pkg){
|
||||
bool lm_database_files_del(lm_database_t *db, lm_entry_t *entry){
|
||||
if(NULL == db || NULL == entry){
|
||||
lm_error_set(LM_ERR_ArgNULL);
|
||||
return false;
|
||||
}
|
||||
@ -185,15 +185,15 @@ bool lm_database_files_del(lm_database_t *db, lm_pkg_t *pkg){
|
||||
bool ret = false;
|
||||
|
||||
if(sqlite3_prepare(db->files_db, queries[QUERY_DELETE_FILE_ALL], strlen(queries[QUERY_DELETE_FILE_ALL]), &db->files_st, NULL) != SQLITE_OK){
|
||||
pdebug(__func__, "failed to prepare statement for deleting %s: %s", pkg->name, sqlite3_errmsg(db->files_db));
|
||||
pdebug(__func__, "failed to prepare statement for deleting %s: %s", entry->name, sqlite3_errmsg(db->files_db));
|
||||
lm_error_set(LM_ERR_DbSqlPrepareFail);
|
||||
goto end;
|
||||
}
|
||||
|
||||
sqlite3_bind_text(db->files_st, 1, pkg->name, strlen(pkg->name), SQLITE_STATIC);
|
||||
sqlite3_bind_text(db->files_st, 1, entry->name, strlen(entry->name), SQLITE_STATIC);
|
||||
|
||||
if(!lm_database_step_all(db->files_st)){
|
||||
pdebug(__func__, "failed to execute delete statement for deleting %s: %s", pkg->name, sqlite3_errmsg(db->files_db));
|
||||
pdebug(__func__, "failed to execute delete statement for deleting %s: %s", entry->name, sqlite3_errmsg(db->files_db));
|
||||
lm_error_set(LM_ERR_DbSqlDeleteFail);
|
||||
goto end;
|
||||
}
|
||||
@ -207,8 +207,8 @@ end:
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool lm_database_files_next(lm_database_t *db, lm_pkg_t *pkg, char **path, char **hash, bool *keep){
|
||||
if(NULL == db || NULL == pkg || NULL == path || NULL == hash || NULL == keep){
|
||||
bool lm_database_files_next(lm_database_t *db, lm_entry_t *entry, char **path, char **hash, bool *keep){
|
||||
if(NULL == db || NULL == entry || NULL == path || NULL == hash || NULL == keep){
|
||||
lm_error_set(LM_ERR_ArgNULL);
|
||||
return false;
|
||||
}
|
||||
@ -219,7 +219,7 @@ bool lm_database_files_next(lm_database_t *db, lm_pkg_t *pkg, char **path, char
|
||||
lm_error_set(LM_ERR_DbSqlPrepareFail);
|
||||
return false;
|
||||
}
|
||||
sqlite3_bind_text(db->files_st, 1, pkg->name, strlen(pkg->name), SQLITE_STATIC);
|
||||
sqlite3_bind_text(db->files_st, 1, entry->name, strlen(entry->name), SQLITE_STATIC);
|
||||
}
|
||||
|
||||
else if(NULL != db->files_st){
|
||||
@ -242,8 +242,8 @@ bool lm_database_files_next(lm_database_t *db, lm_pkg_t *pkg, char **path, char
|
||||
return true;
|
||||
}
|
||||
|
||||
void lm_database_files_next_free(lm_database_t *db, lm_pkg_t *pkg, char **path, char **hash, bool *keep){
|
||||
if(NULL == db || NULL == pkg || NULL == path || NULL == hash || NULL == keep){
|
||||
void lm_database_files_next_free(lm_database_t *db, lm_entry_t *entry, char **path, char **hash, bool *keep){
|
||||
if(NULL == db || NULL == entry || NULL == path || NULL == hash || NULL == keep){
|
||||
lm_error_set(LM_ERR_ArgNULL);
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user