diff --git a/src/database.c b/src/database.c index 4e28813b..511a4921 100644 --- a/src/database.c +++ b/src/database.c @@ -102,43 +102,32 @@ log_database_init(ProfAccount *account) char *err_msg; char *query = "CREATE TABLE IF NOT EXISTS `ChatLogs` ( `cl_id` INTEGER PRIMARY KEY, `jid` TEXT NOT NULL, `resource` TEXT, `message` TEXT, `timestamp` TEXT, `is_muc` INTEGER, `stanza_id` TEXT)"; if( SQLITE_OK != sqlite3_exec(g_chatlog_database, query, NULL, 0, &err_msg)) { - if (err_msg) { - log_error("SQLite error: %s", err_msg); - sqlite3_free(err_msg); - } else { - log_error("Unknown SQLite error"); - } - free(filename); - return FALSE; + goto out; } query = "CREATE TABLE IF NOT EXISTS `DbVersion` ( `dv_id` INTEGER PRIMARY KEY, `version` INTEGER UNIQUE)"; if( SQLITE_OK != sqlite3_exec(g_chatlog_database, query, NULL, 0, &err_msg)) { - if (err_msg) { - log_error("SQLite error: %s", err_msg); - sqlite3_free(err_msg); - } else { - log_error("Unknown SQLite error"); - } - free(filename); - return FALSE; + goto out; } query = "INSERT OR IGNORE INTO `DbVersion` (`version`) VALUES('1')"; if( SQLITE_OK != sqlite3_exec(g_chatlog_database, query, NULL, 0, &err_msg)) { - if (err_msg) { - log_error("SQLite error: %s", err_msg); - sqlite3_free(err_msg); - } else { - log_error("Unknown SQLite error"); - } - free(filename); - return FALSE; + goto out; } log_debug("Initialized SQLite database: %s", filename); free(filename); return TRUE; + +out: + if (err_msg) { + log_error("SQLite error: %s", err_msg); + sqlite3_free(err_msg); + } else { + log_error("Unknown SQLite error"); + } + free(filename); + return FALSE; } void