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>2008-01-26 10:10:46 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2008-01-26 10:10:46 +0000
commit6d33eeb6b313d3310d3ce97c9c7c404bf5d810d8 (patch)
treee17d31f551356f2c551197d854795f8faa426a8f /src
parentd7c0230e7809377fd9490f403caab8e0bfeddd6f (diff)
BUILD : 1.7.21 (1356) BUGS : 835 NOTES : Fixed channel walking for do_mass_mode() and restore_unsynced_topics() to use firstchan/nextchan
git-svn-id: svn://svn.anope.org/anope/trunk@1356 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1071 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/channels.c33
1 files changed, 14 insertions, 19 deletions
diff --git a/src/channels.c b/src/channels.c
index 37ecf0210..c10096e96 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -697,7 +697,7 @@ void do_part(const char *source, int ac, char **av)
}
channame = sstrdup(c->chan->name);
send_event(EVENT_PART_CHANNEL, (ac >= 2 ? 4 : 3), EVENT_START,
- user->nick, channame, (ac >= 2 ? av[1] : ""));
+ user->nick, channame, (ac >= 2 ? av[1] : ""));
chan_deluser(user, c->chan);
if (c->next)
@@ -709,7 +709,7 @@ void do_part(const char *source, int ac, char **av)
free(c);
send_event(EVENT_PART_CHANNEL, (ac >= 2 ? 4 : 3), EVENT_STOP,
- user->nick, channame, (ac >= 2 ? av[1] : ""));
+ user->nick, channame, (ac >= 2 ? av[1] : ""));
free(channame);
}
}
@@ -1884,7 +1884,7 @@ void set_redirect(Channel * chan, char *value)
void do_mass_mode(char *modes)
{
- int ac, i;
+ int ac;
char **av;
Channel *c;
char *myModes;
@@ -1897,16 +1897,14 @@ void do_mass_mode(char *modes)
myModes = sstrdup(modes);
ac = split_buf(myModes, &av, 1);
- for (i = 0; i < 1024; i++) {
- for (c = chanlist[i]; c; c = c->next) {
- if (c->bouncy_modes) {
- free(av);
- free(myModes);
- return;
- } else {
- anope_cmd_mode(s_OperServ, c->name, "%s", modes);
- chan_set_modes(s_OperServ, c, ac, av, 1);
- }
+ for (c = firstchan(); c; c = nextchan()) {
+ if (c->bouncy_modes) {
+ free(av);
+ free(myModes);
+ return;
+ } else {
+ anope_cmd_mode(s_OperServ, c->name, "%s", modes);
+ chan_set_modes(s_OperServ, c, ac, av, 1);
}
}
free(av);
@@ -1918,13 +1916,10 @@ void do_mass_mode(char *modes)
void restore_unsynced_topics(void)
{
Channel *c;
- int i;
- for (i = 0; i < 1024; i++) {
- for (c = chanlist[i]; c; c = c->next) {
- if (!(c->topic_sync))
- restore_topic(c->name);
- }
+ for (c = firstchan(); c; c = nextchan()) {
+ if (!(c->topic_sync))
+ restore_topic(c->name);
}
}