]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_map.c
Fix typo.
[irc/rqf/shadowircd.git] / modules / m_map.c
index aeb7c7f71f06621537ac46e3f8e0b5eeccaad17a..c2ab6be4ccd05379cfa4d8568e6de2da6d2928fe 100644 (file)
@@ -28,7 +28,7 @@
 #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 */
 
@@ -48,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[])
@@ -67,12 +66,12 @@ 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[])
 {
        dump_map(client_p, &me, buf);
+       scache_send_missing(client_p);
        sendto_one_numeric(client_p, RPL_MAPEND, form_str(RPL_MAPEND));
 
        return 0;
@@ -85,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] = ' ';
@@ -108,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)
                {
@@ -129,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 = ' ';