summaryrefslogtreecommitdiff
path: root/src/irc
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc')
-rw-r--r--src/irc/core/irc-nicklist.c7
-rw-r--r--src/irc/core/massjoin.c2
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 */