mirror of
https://github.com/anope/anope.git
synced 2026-07-10 22:43:14 +02:00
BUILD : 1.7.19 (1268) BUGS : 662 NOTES : Optimized akick and badwords lists, provided by Viper.
git-svn-id: svn://svn.anope.org/anope/trunk@1269 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@987 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
17946690bf
commit
82015a606f
@@ -217,7 +217,15 @@ int do_badwords(User * u)
|
||||
}
|
||||
}
|
||||
}
|
||||
ci->bwcount--;
|
||||
/* After reordering only the entries at the end could still be empty.
|
||||
* We ll free the places no longer in use... - Viper */
|
||||
for (i = ci->bwcount - 1; i >= 0; i--) {
|
||||
if (ci->badwords[i].in_use)
|
||||
break;
|
||||
ci->bwcount--;
|
||||
}
|
||||
ci->badwords =
|
||||
srealloc(ci->badwords,sizeof(BadWord) * ci->bwcount);
|
||||
}
|
||||
|
||||
} else if (stricmp(cmd, "LIST") == 0) {
|
||||
|
||||
+18
-14
@@ -248,20 +248,15 @@ int do_akick(User * u)
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ci->akickcount; i++) {
|
||||
if (!(ci->akick[i].flags & AK_USED))
|
||||
break;
|
||||
}
|
||||
if (i == ci->akickcount) {
|
||||
if (ci->akickcount >= CSAutokickMax) {
|
||||
notice_lang(s_ChanServ, u, CHAN_AKICK_REACHED_LIMIT,
|
||||
CSAutokickMax);
|
||||
return MOD_CONT;
|
||||
}
|
||||
ci->akickcount++;
|
||||
ci->akick =
|
||||
srealloc(ci->akick, sizeof(AutoKick) * ci->akickcount);
|
||||
/* All entries should be in use so we don't have to go over
|
||||
* the entire list. We simply add new entries at the end. */
|
||||
if (ci->akickcount >= CSAutokickMax) {
|
||||
notice_lang(s_ChanServ, u, CHAN_AKICK_REACHED_LIMIT, CSAutokickMax);
|
||||
return MOD_CONT;
|
||||
}
|
||||
ci->akickcount++;
|
||||
ci->akick =
|
||||
srealloc(ci->akick, sizeof(AutoKick) * ci->akickcount);
|
||||
akick = &ci->akick[i];
|
||||
akick->flags = AK_USED;
|
||||
if (nc) {
|
||||
@@ -468,7 +463,16 @@ int do_akick(User * u)
|
||||
}
|
||||
}
|
||||
}
|
||||
ci->akickcount--;
|
||||
/* After reordering only the entries at the end could still be empty.
|
||||
* We ll free the places no longer in use... - Viper */
|
||||
for (i = ci->akickcount - 1; i >= 0; i--) {
|
||||
if (ci->akick[i].flags & AK_USED)
|
||||
break;
|
||||
|
||||
ci->akickcount--;
|
||||
}
|
||||
ci->akick =
|
||||
srealloc(ci->akick,sizeof(AutoKick) * ci->akickcount);
|
||||
}
|
||||
} else if (stricmp(cmd, "LIST") == 0) {
|
||||
int sent_header = 0;
|
||||
|
||||
@@ -15,6 +15,10 @@ VERSION_BUILD="1268"
|
||||
#
|
||||
# BUILD : 1.7.19 (1268)
|
||||
# BUGS : 662
|
||||
# NOTES : Optimized akick and badwords lists, provided by Viper.
|
||||
#
|
||||
# BUILD : 1.7.19 (1268)
|
||||
# BUGS : 662
|
||||
# NOTES : badword counting fixed, and now the list is sorted also. fixed remaining bug in akick sorting.
|
||||
#
|
||||
# BUILD : 1.7.19 (1267)
|
||||
|
||||
Reference in New Issue
Block a user