]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/whowas.c
Clarify connection setup.
[irc/rqf/shadowircd.git] / src / whowas.c
index 01279f72fd1550f9427b6a3ea1fc51f6f55168a4..9d910a01da7e1d09947c603d793d5955962b38b8 100644 (file)
@@ -30,7 +30,7 @@
 #include "client.h"
 #include "common.h"
 #include "hash.h"
-#include "irc_string.h"
+#include "match.h"
 #include "ircd.h"
 #include "ircd_defs.h"
 #include "numeric.h"
@@ -38,7 +38,7 @@
 #include "s_user.h"
 #include "send.h"
 #include "s_conf.h"
-#include "memory.h"
+#include "scache.h"
 
 /* internally defined function */
 static void add_whowas_to_clist(struct Whowas **, struct Whowas *);
@@ -72,12 +72,12 @@ void add_history(struct Client *client_p, int online)
                del_whowas_from_list(&WHOWASHASH[who->hashv], who);
        }
        who->hashv = hash_whowas_name(client_p->name);
-       who->logoff = CurrentTime;
+       who->logoff = rb_current_time();
        /*
         * NOTE: strcpy ok here, the sizes in the client struct MUST
         * match the sizes in the whowas struct
         */
-       strlcpy(who->name, client_p->name, sizeof(who->name));
+       rb_strlcpy(who->name, client_p->name, sizeof(who->name));
        strcpy(who->username, client_p->username);
        strcpy(who->hostname, client_p->host);
        strcpy(who->realname, client_p->info);
@@ -86,7 +86,7 @@ void add_history(struct Client *client_p, int online)
        else
                who->sockhost[0] = '\0';
 
-       who->servername = client_p->user->server;
+       who->servername = scache_get_name(client_p->servptr->serv->nameinfo);
 
        if(online)
        {
@@ -118,7 +118,7 @@ struct Client *get_history(const char *nick, time_t timelimit)
        struct Whowas *temp;
        int blah;
 
-       timelimit = CurrentTime - timelimit;
+       timelimit = rb_current_time() - timelimit;
        blah = hash_whowas_name(nick);
        temp = WHOWASHASH[blah];
        for (; temp; temp = temp->next)
@@ -134,23 +134,8 @@ struct Client *get_history(const char *nick, time_t timelimit)
 
 void count_whowas_memory(size_t * wwu, size_t * wwum)
 {
-       struct Whowas *tmp;
-       int i;
-       size_t u = 0;
-       size_t um = 0;
-
-       /* count the number of used whowas structs in 'u' */
-       /* count up the memory used of whowas structs in um */
-
-       for (i = 0, tmp = &WHOWAS[0]; i < NICKNAMEHISTORYLENGTH; i++, tmp++)
-               if(tmp->hashv != -1)
-               {
-                       u++;
-                       um += sizeof(struct Whowas);
-               }
-       *wwu = u;
-       *wwum = um;
-       return;
+       *wwu = NICKNAMEHISTORYLENGTH;
+       *wwum = NICKNAMEHISTORYLENGTH * sizeof(struct Whowas);
 }
 
 void