X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/212380e3f42f585dc1ea927402252eb943f91f7b..90a3c35b295b07ebe3793bf5d3b882c3c1a5dc7c:/modules/m_links.c diff --git a/modules/m_links.c b/modules/m_links.c index 30f23e5..f68d19a 100644 --- a/modules/m_links.c +++ b/modules/m_links.c @@ -36,7 +36,7 @@ #include "parse.h" #include "modules.h" #include "hook.h" -#include "cache.h" +#include "scache.h" static int m_links(struct Client *, struct Client *, int, const char **); static int mo_links(struct Client *, struct Client *, int, const char **); @@ -56,8 +56,6 @@ mapi_hlist_av1 links_hlist[] = { DECLARE_MODULE_AV1(links, NULL, NULL, links_clist, links_hlist, NULL, "$Revision: 254 $"); -static void send_links_cache(struct Client *source_p); - /* * m_links - LINKS message handler * parv[0] = sender prefix @@ -71,7 +69,7 @@ static int m_links(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(ConfigServerHide.flatten_links && !IsExemptShide(source_p)) - send_links_cache(source_p); + scache_send_flattened_links(source_p); else mo_links(client_p, source_p, parc, parv); @@ -86,7 +84,7 @@ mo_links(struct Client *client_p, struct Client *source_p, int parc, const char char clean_mask[2 * HOSTLEN + 4]; hook_data hd; - dlink_node *ptr; + rb_dlink_node *ptr; if(parc > 2) { @@ -109,7 +107,7 @@ mo_links(struct Client *client_p, struct Client *source_p, int parc, const char call_hook(doing_links_hook, &hd); - DLINK_FOREACH(ptr, global_serv_list.head) + RB_DLINK_FOREACH(ptr, global_serv_list.head) { target_p = ptr->data; @@ -120,7 +118,7 @@ mo_links(struct Client *client_p, struct Client *source_p, int parc, const char * or theyre an oper.. */ sendto_one_numeric(source_p, RPL_LINKS, form_str(RPL_LINKS), - target_p->name, target_p->serv->up, + target_p->name, target_p->servptr->name, target_p->hopcount, target_p->info[0] ? target_p->info : "(Unknown Location)"); } @@ -131,26 +129,3 @@ mo_links(struct Client *client_p, struct Client *source_p, int parc, const char return 0; } -/* send_links_cache() - * - * inputs - client to send to - * outputs - the cached links, us, and RPL_ENDOFLINKS - * side effects - - */ -static void -send_links_cache(struct Client *source_p) -{ - dlink_node *ptr; - - DLINK_FOREACH(ptr, links_cache_list.head) - { - sendto_one(source_p, ":%s 364 %s %s", - me.name, source_p->name, (const char *)ptr->data); - } - - sendto_one_numeric(source_p, RPL_LINKS, form_str(RPL_LINKS), - me.name, me.name, 0, me.info); - - sendto_one_numeric(source_p, RPL_ENDOFLINKS, form_str(RPL_ENDOFLINKS), "*"); -} -