X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/c98390004f4f14cd8215302d77313f81e2546e22..2392eb24cd19cede27f51ffa7f3d70b29edcbe33:/modules/m_map.c diff --git a/modules/m_map.c b/modules/m_map.c index 256e3ad..7c679fb 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 */ @@ -87,17 +86,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 +109,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 +131,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 = ' ';