diff options
author | adam- <adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-15 01:05:52 +0000 |
---|---|---|
committer | adam- <adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-15 01:05:52 +0000 |
commit | ece55718e73e0f3f25101d9b32c2900ac2df6849 (patch) | |
tree | 2c8656a494d7b1a295723078939659d0c68056ca /src | |
parent | b9bf72c4572875b8d67c9423f16bf72741d5e146 (diff) |
Set -r on nick change if appropriate and make nick tracking work correctly
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2451 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/users.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/users.c b/src/users.c index 18baef319..0569ad60b 100644 --- a/src/users.c +++ b/src/users.c @@ -730,8 +730,15 @@ User *do_nick(const char *source, const char *nick, const char *username, const if (!nc_changed) { NickAlias *tmpcore = findnick(user->nick); + if (tmpcore) tmpcore->status |= status; + + /* If the new nick isnt registerd or its registerd and not yours */ + if (!tmpcore || (old_na && tmpcore->nc != old_na->nc)) + { + ircdproto->SendUnregisteredNick(user); + } } else { @@ -757,7 +764,7 @@ User *do_nick(const char *source, const char *nick, const char *username, const nc_changed = 0; } - if (nc_changed || !nick_recognized(user)) + if (!ntmp || ntmp->nc != user->nc || nc_changed) { if (validate_user(user)) check_memos(user); |