]>
jfr.im git - irc/quakenet/newserv.git/blob - usercount/usercount.c
3 #include "../nick/nick.h"
4 #include "../core/hooks.h"
7 int servercount
[MAXSERVERS
];
9 static void uc_newserver(int hook
, void *arg
);
10 static void uc_newnick(int hook
, void *arg
);
11 static void uc_lostnick(int hook
, void *arg
);
17 memset(servercount
, 0, sizeof(servercount
));
19 for(i
=0;i
<NICKHASHSIZE
;i
++)
20 for(np
=nicktable
[i
];np
;np
=np
->next
)
21 servercount
[homeserver(np
->numeric
)]++;
23 registerhook(HOOK_SERVER_NEWSERVER
, uc_newserver
);
24 registerhook(HOOK_NICK_NEWNICK
, uc_newnick
);
25 registerhook(HOOK_NICK_LOSTNICK
, uc_lostnick
);
29 deregisterhook(HOOK_SERVER_NEWSERVER
, uc_newserver
);
30 deregisterhook(HOOK_NICK_NEWNICK
, uc_newnick
);
31 deregisterhook(HOOK_NICK_LOSTNICK
, uc_lostnick
);
34 static void uc_newserver(int hook
, void *arg
) {
40 static void uc_newnick(int hook
, void *arg
) {
41 nick
*np
= (nick
*)arg
;
44 servercount
[homeserver(np
->numeric
)]++;
47 static void uc_lostnick(int hook
, void *arg
) {
48 nick
*np
= (nick
*)arg
;
51 servercount
[homeserver(np
->numeric
)]--;