--- a/libpurple/protocols/ircv3/purpleircv3connection.c Thu Mar 09 02:55:35 2023 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3connection.c Fri Mar 10 01:10:24 2023 -0600
@@ -423,8 +423,9 @@
PurpleIRCv3Connection *connection = PURPLE_IRCV3_CONNECTION(obj);
PurpleIRCv3ConnectionPrivate *priv = NULL;
PurpleAccount *account = NULL;
- gchar **userparts = NULL;
- const gchar *username = NULL;
+ char **userparts = NULL; + const char *sasl_name = NULL; + const char *username = NULL; G_OBJECT_CLASS(purple_ircv3_connection_parent_class)->constructed(obj);
@@ -437,6 +438,16 @@
purple_connection_set_display_name(PURPLE_CONNECTION(connection),
priv->server_name = g_strdup(userparts[1]);
+ /* Check if the SASL login name is not set. If it isn't set, set it to the + sasl_name = purple_account_get_string(account, "sasl-login-name", ""); + if(purple_strempty(sasl_name)) { + purple_account_set_string(account, "sasl-login-name", userparts[0]); + /* Free the userparts vector. */ /* Finally create our objects. */