Merged from silc_1_0_branch.
[silc.git] / apps / irssi / src / silc / core / silc-nicklist.c
index 892cf4579a1a2c02c6620e0226ed1d3cbfa2ae82..a8c302bca499c9fb424caced1af589bcdd811842 100644 (file)
@@ -36,7 +36,9 @@ SILC_NICK_REC *silc_nicklist_insert(SILC_CHANNEL_REC *channel,
 
   rec = g_new0(SILC_NICK_REC, 1);
   rec->nick = g_strdup(user->client->nickname);
-  rec->host = g_strdup(user->client->username);
+  rec->host = g_strdup_printf("%s@%s", user->client->username,
+                             user->client->hostname);
+  rec->realname = g_strdup(user->client->realname);
   rec->silc_user = user;
   rec->unique_id = user->client;
 
@@ -53,6 +55,9 @@ SILC_NICK_REC *silc_nicklist_insert(SILC_CHANNEL_REC *channel,
 SILC_NICK_REC *silc_nicklist_find(SILC_CHANNEL_REC *channel,
                                  SilcClientEntry client)
 {
+  if (!client || !client->nickname)
+    return NULL;
+
   return (SILC_NICK_REC *)nicklist_find_unique(CHANNEL(channel),
                                               client->nickname, client);
 }