]> jfr.im git - solanum.git/blobdiff - extensions/m_sendbans.c
msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag.
[solanum.git] / extensions / m_sendbans.c
index 67df6df267ab9dc81e1548a35868f20dbb7fddb0..9320444786a0fbd213d48ee853665360cb3d9b52 100644 (file)
 #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[]);
+static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
 
 struct Message sendbans_msgtab = {
-       "SENDBANS", 0, 0, 0, MFLG_SLOW,
+       "SENDBANS", 0, 0, 0, 0,
        {mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_sendbans, 2}}
 };
 
@@ -82,13 +83,14 @@ static const char *expand_xline(const char *mask)
        return buf;
 }
 
-static int mo_sendbans(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
        struct ConfItem *aconf;
        rb_dlink_node *ptr;
        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)
        {