X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/5c7c7d65c2496ad5323f5aa7ae22469c2312bc15..46be39faab8f50545821a8030c36b18232c67a26:/extensions/m_sendbans.c diff --git a/extensions/m_sendbans.c b/extensions/m_sendbans.c index 67df6df2..16cb5eb9 100644 --- a/extensions/m_sendbans.c +++ b/extensions/m_sendbans.c @@ -43,6 +43,7 @@ #include "hash.h" #include "modules.h" #include "messages.h" +#include "irc_radixtree.h" static int mo_sendbans(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); @@ -89,6 +90,7 @@ static int mo_sendbans(struct Client *client_p, struct Client *source_p, int par int i, count; const char *target, *mask2; struct Client *server_p; + struct irc_radixtree_iteration_state state; if (!IsOperRemoteBan(source_p)) { @@ -142,9 +144,8 @@ static int mo_sendbans(struct Client *client_p, struct Client *source_p, int par target, aconf->host, aconf->passwd); } - HASH_WALK(i, R_MAX, ptr, resvTable) + IRC_RADIXTREE_FOREACH(aconf, &state, resv_tree) { - aconf = ptr->data; if (aconf->hold) continue; sendto_match_servs(source_p, target, @@ -152,7 +153,6 @@ static int mo_sendbans(struct Client *client_p, struct Client *source_p, int par "ENCAP %s RESV 0 %s 0 :%s", target, aconf->host, aconf->passwd); } - HASH_WALK_END RB_DLINK_FOREACH(ptr, xline_conf_list.head) {