]> jfr.im git - irc/hexchat/hexchat.git/commitdiff
Add support for chghost
authorPatrick Griffis <redacted>
Fri, 29 Jan 2016 19:02:40 +0000 (14:02 -0500)
committerPatrick Griffis <redacted>
Fri, 29 Jan 2016 20:28:33 +0000 (15:28 -0500)
src/common/inbound.c
src/common/proto-irc.c
src/common/userlist.c

index 0d24532f24cacf5c31064dd9655dc5d7f9d2c782..7dc332b3448c1f4dda2f08aa16ada4b5337e8084 100644 (file)
@@ -1725,6 +1725,7 @@ static const char * const supported_caps[] = {
        "server-time",
        "userhost-in-names",
        "cap-notify",
+       "chghost",
 
        /* ZNC */
        "znc.in/server-time-iso",
index 4174e182fb0e3596b0c9190251c5081d7e90cf6b..180a3e437c043ea6ff07366c27b79659684a1c37 100644 (file)
@@ -1147,7 +1147,12 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[],
                case WORDL('A', 'U', 'T', 'H'):
                        inbound_sasl_authenticate (sess->server, word_eol[3]);
                        return;
-                       
+
+               case WORDL('C', 'H', 'G', 'H'):
+                       inbound_user_info (sess, NULL, word[3], word[4], NULL, nick, NULL,
+                                                          NULL, 0xff, tags_data);
+                       return;
+
                case WORDL('I','N','V','I'):
                        if (ignore_check (word[1], IG_INVI))
                                return;
index 54ed6f0348029bb649e838e6bd28e27cb494b673..da40ff149422bbe4bb7f02428c1e9d89e478b931 100644 (file)
@@ -123,10 +123,11 @@ userlist_add_hostname (struct session *sess, char *nick, char *hostname,
        user = userlist_find (sess, nick);
        if (user)
        {
-               if (!user->hostname && hostname)
+               if (hostname && (!user->hostname || strcmp(user->hostname, hostname)))
                {
                        if (prefs.hex_gui_ulist_show_hosts)
                                do_rehash = TRUE;
+                       g_free (user->hostname);
                        user->hostname = g_strdup (hostname);
                }
                if (!user->realname && realname && *realname)