summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-25 22:57:00 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-25 22:57:00 +0000
commit84ac00e953c9d8a03bd7b76bcdf5de26832edcfa (patch)
tree264a08d96b6d4c8b0155211bd3a5e6efe1ac1645 /src
parent822e75b501efc57c533e65f68c55debd453415fd (diff)
Fix bug #1114. Fixed a bug in cs_clear caused by do_cmode() modifying params passed to it.
Also fixed some warnings in cs_xop. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2671 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/core/cs_clear.c4
-rw-r--r--src/core/cs_xop.c8
2 files changed, 5 insertions, 7 deletions
diff --git a/src/core/cs_clear.c b/src/core/cs_clear.c
index c3934d840..0b55a965d 100644
--- a/src/core/cs_clear.c
+++ b/src/core/cs_clear.c
@@ -186,7 +186,6 @@ int do_clear(User * u)
struct c_userlist *cu, *next;
if (ircd->svsmode_ucmode) {
- av[0] = chan;
anope_cmd_svsmode_chan(av[0], "-o", NULL);
if (ircd->owner) {
anope_cmd_svsmode_chan(av[0], ircd->ownerunset, NULL);
@@ -207,6 +206,7 @@ int do_clear(User * u)
snprintf(tmp, BUFSIZE, "-%s%s%s", (isop ? "o" : ""), (isadmin ?
ircd->adminunset+1 : ""), (isown ? ircd->ownerunset+1 : ""));
+ av[0] = chan;
if (ircdcap->tsmode) {
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
av[1] = buf;
@@ -226,7 +226,6 @@ int do_clear(User * u)
do_cmode(s_ChanServ, ac, av);
}
} else {
- av[0] = chan;
for (cu = c->users; cu; cu = next) {
next = cu->next;
isop = chan_has_user_status(c, cu->user, CUS_OP);
@@ -243,6 +242,7 @@ int do_clear(User * u)
snprintf(tmp2, BUFSIZE, "%s %s %s", (isop ? GET_USER(cu->user) : ""),
(isadmin ? GET_USER(cu->user) : ""), (isown ? GET_USER(cu->user) : ""));
+ av[0] = chan;
if (ircdcap->tsmode) {
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
av[1] = buf;
diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c
index 849cc5fba..5cf377650 100644
--- a/src/core/cs_xop.c
+++ b/src/core/cs_xop.c
@@ -174,9 +174,10 @@ int do_vop(User * u)
int xop_del(User * u, ChannelInfo * ci, ChanAccess * access, int *perm, int uacc, int xlev)
{
+ char *nick;
if (!access->in_use || !access->nc || access->level != xlev)
return 0;
- char *nick = access->nc->display;
+ nick = access->nc->display;
if (!is_services_admin(u) && uacc <= access->level) {
(*perm)++;
return 0;
@@ -339,7 +340,7 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
}
} else if (stricmp(cmd, "DEL") == 0) {
- int deleted, a, b;
+ int deleted;
if (readonly) {
notice_lang(s_ChanServ, u, xmsgs[1]);
return MOD_CONT;
@@ -439,9 +440,6 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
if (!sent_header)
notice_lang(s_ChanServ, u, xmsgs[7], chan);
} else if (stricmp(cmd, "CLEAR") == 0) {
- uint16 j = 0;
- int a, b;
-
if (readonly) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_DISABLED);
return MOD_CONT;