]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
driver-pgsql: Add driver_pgsql_free
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 4 Sep 2018 06:39:06 +0000 (09:39 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Wed, 14 Nov 2018 08:12:47 +0000 (10:12 +0200)
src/lib-sql/driver-pgsql.c

index 86400d38afa4cff25fe1d1ee2a1b88bf4cbce3af..49f442f5d6aa017042611511b1619459b94522ef 100644 (file)
@@ -272,6 +272,17 @@ static void driver_pgsql_disconnect(struct sql_db *_db)
        _db->no_reconnect = FALSE;
 }
 
+static void driver_pgsql_free(struct pgsql_db **_db)
+{
+       struct pgsql_db *db = *_db;
+       *_db = NULL;
+
+       i_free(db->connect_string);
+       i_free(db->host);
+       array_free(&db->api.module_contexts);
+       i_free(db);
+}
+
 static struct sql_db *driver_pgsql_init_v(const char *connect_string)
 {
        struct pgsql_db *db;
@@ -296,11 +307,7 @@ static void driver_pgsql_deinit_v(struct sql_db *_db)
        struct pgsql_db *db = (struct pgsql_db *)_db;
 
        driver_pgsql_disconnect(_db);
-       i_free(db->host);
-       i_free(db->error);
-       i_free(db->connect_string);
-       array_free(&_db->module_contexts);
-       i_free(db);
+       driver_pgsql_free(&db);
 }
 
 static void driver_pgsql_set_idle(struct pgsql_db *db)