diff options
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/irc-nicklist.c | 7 | ||||
-rw-r--r-- | src/irc/core/massjoin.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/irc/core/irc-nicklist.c b/src/irc/core/irc-nicklist.c index 245d1fdd..807934d2 100644 --- a/src/irc/core/irc-nicklist.c +++ b/src/irc/core/irc-nicklist.c @@ -134,8 +134,11 @@ static void event_who(SERVER_REC *server, const char *data) nickrec = chanrec == NULL ? NULL : nicklist_find(chanrec, nick); if (nickrec != NULL) { - if (nickrec->host == NULL) - nickrec->host = g_strdup_printf("%s@%s", user, host); + if (nickrec->host == NULL) { + char *str = g_strdup_printf("%s@%s", user, host); + nicklist_set_host(chanrec, nickrec, str); + g_free(str); + } if (nickrec->realname == NULL) nickrec->realname = g_strdup(realname); sscanf(hops, "%d", &nickrec->hops); diff --git a/src/irc/core/massjoin.c b/src/irc/core/massjoin.c index 701d2a33..1c7d55fb 100644 --- a/src/irc/core/massjoin.c +++ b/src/irc/core/massjoin.c @@ -59,7 +59,7 @@ static void event_join(IRC_SERVER_REC *server, const char *data, /* add user to nicklist */ nickrec = nicklist_insert(CHANNEL(chanrec), nick, FALSE, FALSE, TRUE); - nickrec->host = g_strdup(address); + nicklist_set_host(CHANNEL(chanrec), nickrec, address); if (chanrec->massjoins == 0) { /* no nicks waiting in massjoin queue */ |