mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-29 07:29:31 +01:00
fix: store the uncasefolded account name correctly
This commit is contained in:
parent
df41f9b3b0
commit
878f9ca94c
@ -578,18 +578,10 @@ type rawClientAccount struct {
|
|||||||
|
|
||||||
// LoginToAccount logs the client into the given account.
|
// LoginToAccount logs the client into the given account.
|
||||||
func (client *Client) LoginToAccount(account string) {
|
func (client *Client) LoginToAccount(account string) {
|
||||||
casefoldedAccount, err := CasefoldName(account)
|
changed := client.SetAccountName(account)
|
||||||
if err != nil {
|
if changed {
|
||||||
return
|
client.nickTimer.Touch()
|
||||||
}
|
}
|
||||||
|
|
||||||
if client.Account() == casefoldedAccount {
|
|
||||||
// already logged into this acct, no changing necessary
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
client.SetAccountName(casefoldedAccount)
|
|
||||||
client.nickTimer.Touch()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogoutOfAccount logs the client out of their current account.
|
// LogoutOfAccount logs the client out of their current account.
|
||||||
|
@ -125,15 +125,21 @@ func (client *Client) AccountName() string {
|
|||||||
return client.accountName
|
return client.accountName
|
||||||
}
|
}
|
||||||
|
|
||||||
func (client *Client) SetAccountName(account string) {
|
func (client *Client) SetAccountName(account string) (changed bool) {
|
||||||
var casefoldedAccount string
|
var casefoldedAccount string
|
||||||
|
var err error
|
||||||
if account != "" {
|
if account != "" {
|
||||||
casefoldedAccount, _ = CasefoldName(account)
|
if casefoldedAccount, err = CasefoldName(account); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
client.stateMutex.Lock()
|
client.stateMutex.Lock()
|
||||||
defer client.stateMutex.Unlock()
|
defer client.stateMutex.Unlock()
|
||||||
|
changed = client.account != casefoldedAccount
|
||||||
client.account = casefoldedAccount
|
client.account = casefoldedAccount
|
||||||
client.accountName = account
|
client.accountName = account
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (client *Client) HasMode(mode modes.Mode) bool {
|
func (client *Client) HasMode(mode modes.Mode) bool {
|
||||||
|
Loading…
Reference in New Issue
Block a user