X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ChanNode.c;h=47e06635179c723ebd9a4f137f1e7924b0061f67;hb=f3fba85a013cd814b49715965cb654978faa5946;hp=b8ff9f8e223ad59675a29adbaa0580678e87af05;hpb=df8d73a91b05864b972d1362dab1995fbdb179f2;p=NeonServV5.git diff --git a/ChanNode.c b/ChanNode.c index b8ff9f8..47e0663 100644 --- a/ChanNode.c +++ b/ChanNode.c @@ -77,6 +77,24 @@ void init_ChanNode() { } } +void free_ChanNode() { + //kamikaze free all channels and chanusers + int i; + struct ChanNode *chan, *next; + struct ChanUser *chanuser, *next_chanuser; + for(i = 0; i < 47; i++) { + for(chan = chanList[i]; chan; chan = next) { + next = chan->next; + for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = next_chanuser) { + next_chanuser = getChannelUsers(chan, chanuser); + free(chanuser); + } + freeChanNode(chan); + } + } + free(chanList); +} + int is_valid_chan(const char *name) { unsigned int ii; if (*name !='#')