#include "msg.h"
#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}}
};
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))
{
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,
"ENCAP %s RESV 0 %s 0 :%s",
target, aconf->host, aconf->passwd);
}
- HASH_WALK_END
RB_DLINK_FOREACH(ptr, xline_conf_list.head)
{