about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-03-23 15:21:31 +0100
committerMichael Vetter <jubalh@iodoru.org>2020-04-06 10:50:20 +0200
commita5a53c52deb55faef717f0472eda672a7e916305 (patch)
treefd1161af65a439b384c0e2fe2896a941b7ebc6aa
parentac6a1222fcecfd782e8992a5771127b0a3274523 (diff)
downloadprofani-tty-a5a53c52deb55faef717f0472eda672a7e916305.tar.gz
db: use goto in error case
-rw-r--r--src/database.c37
1 files changed, 13 insertions, 24 deletions
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