X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/47a18d370f1694df9fe02ac779127d30a0dc1598..3898f97325dbed800d4b424e68a0c2858b8d8be7:/channel/channelalloc.c diff --git a/channel/channelalloc.c b/channel/channelalloc.c index f1b3e024..5add18f6 100644 --- a/channel/channelalloc.c +++ b/channel/channelalloc.c @@ -3,17 +3,16 @@ #include #include "channel.h" #include +#include "../core/nsmalloc.h" #define ALLOCUNIT 100 channel *freechans; chanuserhash *freehash; -chanban *freebans; void initchannelalloc() { freechans=NULL; freehash=NULL; - freebans=NULL; } /* channel records don't have next pointers. @@ -24,7 +23,7 @@ channel *newchan() { channel *cp; if (freechans==NULL) { - freechans=(channel *)malloc(ALLOCUNIT*sizeof(channel)); + freechans=(channel *)nsmalloc(POOL_CHANNEL,ALLOCUNIT*sizeof(channel)); for (i=0;i<(ALLOCUNIT-1);i++) { freechans[i].index=(struct chanindex *)&(freechans[i+1]); } @@ -57,7 +56,7 @@ chanuserhash *newchanuserhash(int hashsize) { chanuserhash *cuhp; if (freehash==NULL) { - freehash=(chanuserhash *)malloc(ALLOCUNIT*sizeof(chanuserhash)); + freehash=(chanuserhash *)nsmalloc(POOL_CHANNEL,ALLOCUNIT*sizeof(chanuserhash)); for (i=0;i<(ALLOCUNIT-1);i++) { freehash[i].content=(unsigned long *)&(freehash[i+1]); } @@ -67,7 +66,7 @@ chanuserhash *newchanuserhash(int hashsize) { cuhp=freehash; freehash=(chanuserhash *)cuhp->content; - + /* Don't use nsmalloc() here since we will free this in freechanuserhash() */ cuhp->content=(unsigned long *)malloc(hashsize*sizeof(unsigned long)); for (i=0;icontent[i]=nouser; @@ -84,39 +83,3 @@ void freechanuserhash(chanuserhash *cuhp) { cuhp->content=(unsigned long *)freehash; freehash=cuhp; } - -chanban *getchanban() { - int i; - chanban *cbp; - - if (freebans==NULL) { - freebans=(chanban *)malloc(ALLOCUNIT*sizeof(chanban)); - for (i=0;inext; - - cbp->nick=NULL; - cbp->user=NULL; - cbp->host=NULL; - - return cbp; -} - -void freechanban(chanban *cbp) { - cbp->next=(struct chanban *)freebans; - - if (cbp->nick) - freesstring(cbp->nick); - if (cbp->user) - freesstring(cbp->user); - if (cbp->host) - freesstring(cbp->host); - - freebans=cbp; -} -