]>
jfr.im git - irc/quakenet/newserv.git/blob - usercount/usercount.c
3 #include "../nick/nick.h"
4 #include "../core/hooks.h"
5 #include "../lib/version.h"
10 int servercount
[MAXSERVERS
];
12 static void uc_newserver(int hook
, void *arg
);
13 static void uc_newnick(int hook
, void *arg
);
14 static void uc_lostnick(int hook
, void *arg
);
20 memset(servercount
, 0, sizeof(servercount
));
22 for(i
=0;i
<NICKHASHSIZE
;i
++)
23 for(np
=nicktable
[i
];np
;np
=np
->next
)
24 servercount
[homeserver(np
->numeric
)]++;
26 registerhook(HOOK_SERVER_NEWSERVER
, uc_newserver
);
27 registerhook(HOOK_NICK_NEWNICK
, uc_newnick
);
28 registerhook(HOOK_NICK_LOSTNICK
, uc_lostnick
);
32 deregisterhook(HOOK_SERVER_NEWSERVER
, uc_newserver
);
33 deregisterhook(HOOK_NICK_NEWNICK
, uc_newnick
);
34 deregisterhook(HOOK_NICK_LOSTNICK
, uc_lostnick
);
37 static void uc_newserver(int hook
, void *arg
) {
43 static void uc_newnick(int hook
, void *arg
) {
44 nick
*np
= (nick
*)arg
;
47 servercount
[homeserver(np
->numeric
)]++;
50 static void uc_lostnick(int hook
, void *arg
) {
51 nick
*np
= (nick
*)arg
;
54 servercount
[homeserver(np
->numeric
)]--;