summaryrefslogtreecommitdiff
path: root/src/core/ns_update.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ns_update.c')
-rw-r--r--src/core/ns_update.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/core/ns_update.c b/src/core/ns_update.c
index 9eca8daad..bd452bc88 100644
--- a/src/core/ns_update.c
+++ b/src/core/ns_update.c
@@ -26,20 +26,22 @@ class CommandNSUpdate : public Command
CommandReturn Process(User *u, std::vector<std::string> &params)
{
- if (!nick_identified(u))
+ NickAlias *na = findnick(u->nick);
+
+ if (!na)
{
- notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
return MOD_CONT;
}
if (NSModeOnID)
do_setmodes(u);
check_memos(u);
- if (u->na->last_realname)
- delete [] u->na->last_realname;
- u->na->last_realname = sstrdup(u->realname);
- u->na->status |= NS_IDENTIFIED;
- u->na->last_seen = time(NULL);
+
+ if (na->last_realname)
+ delete [] na->last_realname;
+ na->last_realname = sstrdup(u->realname);
+ na->status |= NS_IDENTIFIED;
+ na->last_seen = time(NULL);
if (ircd->vhost)
do_on_id(u);
notice_lang(s_NickServ, u, NICK_UPDATE_SUCCESS, s_NickServ);