summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/users.c41
1 files changed, 15 insertions, 26 deletions
diff --git a/src/users.c b/src/users.c
index 78626c060..ff42b6d9d 100644
--- a/src/users.c
+++ b/src/users.c
@@ -120,6 +120,21 @@ void User::SetDisplayedHost(const std::string &host)
update_host(this);
}
+void User::SetIdent(const std::string &ident)
+{
+ if (ident.empty())
+ throw "empty ident in SetIdent";
+
+ if (this->vident)
+ free(this->vident);
+ this->vident = sstrdup(ident.c_str());
+
+ if (debug)
+ alog("debug: %s changed ident to %s", this->nick, username);
+
+ update_host(this);
+}
+
/*************************************************************************/
/*************************************************************************/
@@ -170,32 +185,6 @@ void change_user_realname(User * user, const char *realname)
alog("debug: %s changes its realname to %s", user->nick, realname);
}
-
-/*************************************************************************/
-
-/* Change the username of a user. */
-
-void change_user_username(User * user, const char *username)
-{
- if (user->vident)
- free(user->vident);
- user->vident = sstrdup(username);
- if (user->na && (nick_identified(user)
- || (!(user->na->nc->flags & NI_SECURE)
- && nick_recognized(user)))) {
- if (user->na->last_usermask)
- free(user->na->last_usermask);
-
- user->na->last_usermask =
- (char *)smalloc(strlen(common_get_vident(user)) +
- strlen(common_get_vhost(user)) + 2);
- sprintf(user->na->last_usermask, "%s@%s", common_get_vident(user),
- common_get_vhost(user));
- }
- if (debug)
- alog("debug: %s changes its username to %s", user->nick, username);
-}
-
/*************************************************************************/
/* Remove and free a User structure. */