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.9~1207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efbcf125779ca473a6d328497ccf4c72eea6a02c;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 d83cfdb464..69d686600e 100644 --- a/src/lib-smtp/smtp-client-connection.c +++ b/src/lib-smtp/smtp-client-connection.c @@ -1717,11 +1717,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; @@ -1735,10 +1734,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) { @@ -1816,6 +1812,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,