From: Stephan Bosch Date: Sun, 23 Sep 2018 17:32:11 +0000 (+0200) Subject: lib-smtp: client: Move creation of connection object to a separate function. X-Git-Tag: 2.3.5~119 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=28a96e0e45b3ab9d65a797ee1668cc79d61da1df;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: client: Move creation of connection object to a separate function. --- diff --git a/src/lib-smtp/smtp-client-connection.c b/src/lib-smtp/smtp-client-connection.c index e54c720d2e..2f320b9c14 100644 --- a/src/lib-smtp/smtp-client-connection.c +++ b/src/lib-smtp/smtp-client-connection.c @@ -1720,11 +1720,10 @@ void smtp_client_connection_disconnect(struct smtp_client_connection *conn) } } -struct smtp_client_connection * -smtp_client_connection_create(struct smtp_client *client, - enum smtp_protocol protocol, const char *host, in_port_t port, - enum smtp_client_connection_ssl_mode ssl_mode, - const struct smtp_client_settings *set) +static struct smtp_client_connection * +smtp_client_connection_do_create(struct smtp_client *client, const char *name, + enum smtp_protocol protocol, + const struct smtp_client_settings *set) { static unsigned int id = 0; struct smtp_client_connection *conn; @@ -1738,10 +1737,7 @@ smtp_client_connection_create(struct smtp_client *client, conn->client = client; conn->id = id++; conn->protocol = protocol; - conn->host = p_strdup(conn->pool, host); - conn->port = port; - conn->ssl_mode = ssl_mode; - conn->conn.name = i_strdup_printf("%s:%u", host, port); + conn->conn.name = i_strdup(name); conn->set = client->set; if (set != NULL) { @@ -1819,6 +1815,23 @@ smtp_client_connection_create(struct smtp_client *client, return conn; } +struct smtp_client_connection * +smtp_client_connection_create(struct smtp_client *client, + enum smtp_protocol protocol, const char *host, in_port_t port, + enum smtp_client_connection_ssl_mode ssl_mode, + const struct smtp_client_settings *set) +{ + struct smtp_client_connection *conn; + const char *name = t_strdup_printf("%s:%u", host, port); + + conn = smtp_client_connection_do_create(client, name, protocol, set); + conn->host = p_strdup(conn->pool, host); + conn->port = port; + conn->ssl_mode = ssl_mode; + + return conn; +} + struct smtp_client_connection * smtp_client_connection_create_ip(struct smtp_client *client, enum smtp_protocol protocol, const struct ip_addr *ip, in_port_t port,