Do not save locally resolved hostname for local entry but take
[silc.git] / lib / silcclient / idlist.c
index f20efc260bbb325f945cc4fb8bdd8706e00ac4ed..92b1dc37c5a354e07811583e941d76d6b8c79002 100644 (file)
@@ -646,9 +646,14 @@ void silc_client_update_client(SilcClient client,
 
   SILC_LOG_DEBUG(("Start"));
 
-  if (!client_entry->username && username)
-    silc_parse_userfqdn(username, &client_entry->username, 
+  if ((!client_entry->username || !client_entry->hostname) && username) {
+    silc_free(client_entry->username);
+    silc_free(client_entry->hostname);
+    client_entry->username = NULL;
+    client_entry->hostname = NULL;
+    silc_parse_userfqdn(username, &client_entry->username,
                        &client_entry->hostname);
+  }
   if (!client_entry->realname && userinfo)
     client_entry->realname = strdup(userinfo);
   if (!client_entry->nickname && nickname) {