summaryrefslogtreecommitdiff
path: root/src/protocol/inspircd11.c
diff options
context:
space:
mode:
authorDukePyrolator <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-02 06:04:27 +0000
committerDukePyrolator <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-02 06:04:27 +0000
commita1fe864c7ff5f5db093329ca6acb65b9c2cf93e8 (patch)
tree2fff30e7bd6c4b81c201d8687fd403b5c1d6d6b7 /src/protocol/inspircd11.c
parent9a0b1efc24e84c7cf17a0e87c98fd1e22fe1c356 (diff)
check for umode +r before sending svsmode -r
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2603 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol/inspircd11.c')
-rw-r--r--src/protocol/inspircd11.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c
index 49f85bb0b..42c51712b 100644
--- a/src/protocol/inspircd11.c
+++ b/src/protocol/inspircd11.c
@@ -188,10 +188,8 @@ class InspIRCdProto : public IRCDProto
else --opcnt;
break;
case 'r':
- if (add && !nick_identified(user)) {
- common_svsmode(user, "-r", NULL);
- user->RemoveMode(UMODE_REGISTERED);
- }
+ if (add && !nick_identified(user))
+ SendUnregisteredNick(user);
break;
case 'x':
if (add && user->vhost)
@@ -388,11 +386,11 @@ class InspIRCdProto : public IRCDProto
send_cmd(ServerName, "ADDLINE Z %s %s %ld 0 :%s", mask, whom, static_cast<long>(time(NULL)), reason);
}
- /* SVSMODE +d */
- /* nc_change was = 1, and there is no na->status */
+ /* SVSMODE +- */
void SendUnregisteredNick(User *u)
{
- common_svsmode(u, "-r", NULL);
+ if (u->HasMode(UMODE_REGISTERED))
+ common_svsmode(u, "-r", NULL);
}
void SendSVSJoin(const char *source, const char *nick, const char *chan, const char *param)