X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/c98390004f4f14cd8215302d77313f81e2546e22..8097430a810ac1535fe5304f74991b16ff58b064:/modules/m_map.c diff --git a/modules/m_map.c b/modules/m_map.c index 256e3ad..c2ab6be 100644 --- a/modules/m_map.c +++ b/modules/m_map.c @@ -28,7 +28,6 @@ #include "numeric.h" #include "send.h" #include "s_conf.h" -#include "sprintf_irc.h" #include "scache.h" #define USER_COL 50 /* display | Users: %d at col 50 */ @@ -49,7 +48,6 @@ static void dump_map(struct Client *client_p, struct Client *root, char *pbuf); static char buf[BUFSIZE]; /* m_map -** parv[0] = sender prefix */ static int m_map(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) @@ -68,7 +66,6 @@ m_map(struct Client *client_p, struct Client *source_p, int parc, const char *pa /* ** mo_map -** parv[0] = sender prefix */ static int mo_map(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) @@ -87,17 +84,17 @@ mo_map(struct Client *client_p, struct Client *source_p, int parc, const char *p static void dump_map(struct Client *client_p, struct Client *root_p, char *pbuf) { - int cnt = 0, i = 0, len; + int cnt = 0, i = 0, len, frac; struct Client *server_p; - dlink_node *ptr; + rb_dlink_node *ptr; *pbuf = '\0'; - strlcat(pbuf, root_p->name, BUFSIZE); + rb_strlcat(pbuf, root_p->name, BUFSIZE); if (has_id(root_p)) { - strlcat(pbuf, "[", BUFSIZE); - strlcat(pbuf, root_p->id, BUFSIZE); - strlcat(pbuf, "]", BUFSIZE); + rb_strlcat(pbuf, "[", BUFSIZE); + rb_strlcat(pbuf, root_p->id, BUFSIZE); + rb_strlcat(pbuf, "]", BUFSIZE); } len = strlen(buf); buf[len] = ' '; @@ -110,15 +107,16 @@ dump_map(struct Client *client_p, struct Client *root_p, char *pbuf) } } - ircsnprintf(buf + USER_COL, BUFSIZE - USER_COL, - " | Users: %5lu (%4.1f%%)", dlink_list_length(&root_p->serv->users), - 100 * (float) dlink_list_length(&root_p->serv->users) / (float) Count.total); + frac = (1000 * rb_dlink_list_length(&root_p->serv->users) + Count.total / 2) / Count.total; + rb_snprintf(buf + USER_COL, BUFSIZE - USER_COL, + " | Users: %5lu (%2d.%1d%%)", rb_dlink_list_length(&root_p->serv->users), + frac / 10, frac % 10); sendto_one_numeric(client_p, RPL_MAP, form_str(RPL_MAP), buf); if(root_p->serv->servers.head != NULL) { - cnt += dlink_list_length(&root_p->serv->servers); + cnt += rb_dlink_list_length(&root_p->serv->servers); if(cnt) { @@ -131,7 +129,7 @@ dump_map(struct Client *client_p, struct Client *root_p, char *pbuf) } } i = 1; - DLINK_FOREACH(ptr, root_p->serv->servers.head) + RB_DLINK_FOREACH(ptr, root_p->serv->servers.head) { server_p = ptr->data; *pbuf = ' ';