diff options
author | jantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-25 22:57:00 +0000 |
---|---|---|
committer | jantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-25 22:57:00 +0000 |
commit | 84ac00e953c9d8a03bd7b76bcdf5de26832edcfa (patch) | |
tree | 264a08d96b6d4c8b0155211bd3a5e6efe1ac1645 /src | |
parent | 822e75b501efc57c533e65f68c55debd453415fd (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.c | 4 | ||||
-rw-r--r-- | src/core/cs_xop.c | 8 |
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; |