diff options
author | Sadie Powell <sadie@witchery.services> | 2021-05-24 02:53:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-23 20:53:28 -0500 |
commit | 37118a4d2b70c11a76c732346975c2745d3cc4c6 (patch) | |
tree | b43cd4aa33f016b8826bdf420887cdb55551ee11 /src/common/userlist.c | |
parent | 6199635e7fbd220860e9b650b6d3fe63f60d4f80 (diff) |
Implement support for the IRCv3 account-tag specification. (#2572)
Co-authored-by: Patrick <tingping@tingping.se>
Diffstat (limited to 'src/common/userlist.c')
-rw-r--r-- | src/common/userlist.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/common/userlist.c b/src/common/userlist.c index 17719ff6..5f2d67f2 100644 --- a/src/common/userlist.c +++ b/src/common/userlist.c @@ -101,13 +101,15 @@ userlist_set_account (struct session *sess, char *nick, char *account) user = userlist_find (sess, nick); if (user) { - g_free (user->account); - if (strcmp (account, "*") == 0) - user->account = NULL; - else + { + g_clear_pointer (&user->account, g_free); + } else if (g_strcmp0 (user->account, account)) + { + g_free (user->account); user->account = g_strdup (account); - + } + /* gui doesnt currently reflect login status, maybe later fe_userlist_rehash (sess, user); */ } |