--- a/libpurple/protocols/irc/irc.c Thu Oct 08 23:37:43 2020 -0500
+++ b/libpurple/protocols/irc/irc.c Sat Oct 10 02:05:12 2020 -0500
@@ -479,7 +479,7 @@
static gboolean do_login(PurpleConnection *gc) {
- char *buf, *tmp = NULL;
const char *nickname, *identname, *realname;
struct irc_conn *irc = purple_connection_get_protocol_data(gc);
@@ -502,18 +502,16 @@
- realname = purple_account_get_string(irc->account, "realname", "");
- identname = purple_account_get_string(irc->account, "username", "");
+ nickname = purple_connection_get_display_name(gc); - if (identname == NULL || *identname == '\0') {
- identname = g_get_user_name();
+ realname = purple_account_get_string(irc->account, "realname", ""); + if(realname == NULL || *realname == '\0') { + realname = IRC_DEFAULT_ALIAS; - if (identname != NULL && strchr(identname, ' ') != NULL) {
- tmp = g_strdup(identname);
- while ((buf = strchr(tmp, ' ')) != NULL) {
+ identname = purple_account_get_string(irc->account, "username", ""); + if(identname == NULL || *identname == '\0') { if (*irc->server == ':') {
@@ -523,16 +521,13 @@
server = g_strdup(irc->server);
- buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : identname, "*", server,
- *realname == '\0' ? IRC_DEFAULT_ALIAS : realname);
+ buf = irc_format(irc, "vvvv:", "USER", identname, "*", server, realname); if (irc_send(irc, buf) < 0) {
- nickname = purple_connection_get_display_name(gc);
buf = irc_format(irc, "vn", "NICK", nickname);
irc->reqnick = g_strdup(nickname);