return VC_DB_ERROR_NONE;
}
+static void __free_command_list_element(gpointer data)
+{
+ vc_cmd_h temp_cmd = (vc_cmd_h)data;
+ int ret = vc_cmd_destroy(temp_cmd);
+ if (ret != VC_ERROR_NONE) {
+ SLOG(LOG_ERROR, vc_db_tag(), "Fail to destroy command. (%d/%s)", ret, get_error_message(ret));
+ }
+}
+
int vc_db_backup_command()
{
GSList* list = NULL;
if (ret != VC_DB_ERROR_NONE) {
SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to insert command list to backup db");
__vc_db_rollback_transaction(g_db_backup_handle);
- return ret;
+ } else {
+ SLOG(LOG_ERROR, vc_db_tag(), "[SUCCESS] Backup commands");
+ __vc_db_commit_transaction(g_db_backup_handle);
}
- __vc_db_commit_transaction(g_db_backup_handle);
-
- SLOG(LOG_ERROR, vc_db_tag(), "[SUCCESS] Backup commands");
- return VC_DB_ERROR_NONE;
+ g_slist_free_full(list, __free_command_list_element);
+ return ret;
}
int vc_db_restore_command()
ret = vc_db_insert_commands_list(-1, VC_COMMAND_TYPE_BACKGROUND, list, NULL, true);
if (ret != VC_DB_ERROR_NONE) {
- SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to insert command list");
- return ret;
+ SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to insert command list. (%d)", ret);
+ } else {
+ SLOG(LOG_ERROR, vc_db_tag(), "[SUCCESS] Restore commands");
}
- SLOG(LOG_ERROR, vc_db_tag(), "[SUCCESS] Restore commands");
- return VC_DB_ERROR_NONE;
+ g_slist_free_full(list, __free_command_list_element);
+ return ret;
}