diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/os_stats.c | 11 | ||||
-rw-r--r-- | src/hostserv.c | 30 | ||||
-rw-r--r-- | src/nickserv.c | 2 |
3 files changed, 40 insertions, 3 deletions
diff --git a/src/core/os_stats.c b/src/core/os_stats.c index 85bdd1c90..b00cab98f 100644 --- a/src/core/os_stats.c +++ b/src/core/os_stats.c @@ -364,9 +364,16 @@ int do_stats(User * u) get_chanserv_stats(&count, &mem); notice_lang(s_OperServ, u, OPER_STATS_CHANSERV_MEM, count, (mem + 512) / 1024); - get_botserv_stats(&count, &mem); - notice_lang(s_OperServ, u, OPER_STATS_BOTSERV_MEM, count, + if (s_BotServ) { + get_botserv_stats(&count, &mem); + notice_lang(s_OperServ, u, OPER_STATS_BOTSERV_MEM, count, (mem + 512) / 1024); + } + if (s_HostServ) { + get_hostserv_stats(&count, &mem); + notice_lang(s_OperServ, u, OPER_STATS_HOSTSERV_MEM, count, + (mem + 512) / 1024); + } get_operserv_stats(&count, &mem); notice_lang(s_OperServ, u, OPER_STATS_OPERSERV_MEM, count, (mem + 512) / 1024); diff --git a/src/hostserv.c b/src/hostserv.c index 52dfbc0d9..dd98d279f 100644 --- a/src/hostserv.c +++ b/src/hostserv.c @@ -39,6 +39,36 @@ void moduleAddHostServCmds(void) /*************************************************************************/ /** + * Return information on memory use. + * Assumes pointers are valid. + **/ + +void get_hostserv_stats(long *nrec, long *memuse) +{ + long count = 0, mem = 0; + int i; + HostCore *hc; + + for (hc = head; hc; hc = hc->next) { + count++; + mem += sizeof(*hc); + if (hc->nick) + mem += strlen(hc->nick) + 1; + if (hc->vIdent) + mem += strlen(hc->vIdent) + 1; + if (hc->vHost) + mem += strlen(hc->vHost) + 1; + if (hc->creator) + mem += strlen(hc->creator) + 1; + } + + *nrec = count; + *memuse = mem; +} + +/*************************************************************************/ + +/** * HostServ initialization. * @return void */ diff --git a/src/nickserv.c b/src/nickserv.c index efb803393..f4f1dfae3 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -454,7 +454,7 @@ void load_ns_dbase(void) int ver, i, j, c; NickAlias *na, **nalast, *naprev; NickCore *nc, **nclast, *ncprev; - int failed = 0, len; + int failed = 0; uint16 tmp16; uint32 tmp32; char *s, *pass; |