summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-22 14:24:40 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-22 14:24:40 +0000
commit2225f58c39d004e3fac4ec38e52daeb9884727be (patch)
tree031432698527695f7a603fe6691da60748738905 /src
parentf005ab7da5ecd27df280057b926033ffb97ac292 (diff)
BUILD : 1.7.8 (640) BUGS : 323 NOTES : Fixed /ns update setting +a if you had rights to get +q but already had it
git-svn-id: svn://svn.anope.org/anope/trunk@640 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@488 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/channels.c1
-rw-r--r--src/nickserv.c28
2 files changed, 2 insertions, 27 deletions
diff --git a/src/channels.c b/src/channels.c
index eca6c25bf..3c4f2683e 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -22,7 +22,6 @@ Channel *chanlist[1024];
void add_ban(Channel * chan, char *mask);
void add_exception(Channel * chan, char *mask);
void add_invite(Channel * chan, char *mask);
-void chan_set_correct_modes(User * user, Channel * c);
void chan_adduser2(User * user, Channel * c);
Channel *chan_create(char *chan);
void chan_delete(Channel * c);
diff --git a/src/nickserv.c b/src/nickserv.c
index fd5f3b5e0..61a14c3b5 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -2659,35 +2659,11 @@ static int do_setmodes(User * u)
{
struct u_chanlist *uc;
Channel *c;
- char *chan;
/* Walk users current channels */
for (uc = u->chans; uc; uc = uc->next) {
- if ((c = uc->chan)) {
- chan = c->name;
- if (ircd->owner && should_mode_change(uc->status, CUS_OWNER)
- && check_should_owner(u, chan)) {
- chan_set_user_status(c, u, CUS_OWNER);
- } else if (ircd->protect
- && should_mode_change(uc->status, CUS_PROTECT)
- && check_should_protect(u, chan)) {
- chan_set_user_status(c, u, CUS_PROTECT);
- } else if (ircd->admin
- && should_mode_change(uc->status, CUS_PROTECT)
- && check_should_protect(u, chan)) {
- chan_set_user_status(c, u, CUS_PROTECT);
- } else if (should_mode_change(uc->status, CUS_OP)
- && check_should_op(u, chan)) {
- chan_set_user_status(c, u, CUS_OP);
- } else if (ircd->halfop
- && should_mode_change(uc->status, CUS_HALFOP)
- && check_should_halfop(u, chan)) {
- chan_set_user_status(c, u, CUS_HALFOP);
- } else if (should_mode_change(uc->status, CUS_VOICE)
- && check_should_voice(u, chan)) {
- chan_set_user_status(c, u, CUS_VOICE);
- }
- }
+ if ((c = uc->chan))
+ chan_set_correct_modes(u, c);
}
return MOD_CONT;
}