log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
if (user->registered == 7) {
+ purge_empty_chans(user);
FOREACH_MOD(I_OnUserQuit,OnUserQuit(user,reason));
WriteCommonExcept(user,"QUIT :%s",reason);
}
// this must come before the WriteOpers so that it doesnt try to fill their buffer with anything
// if they were an oper with +s.
if (user->registered == 7) {
- purge_empty_chans(user);
// fix by brain: only show local quits because we only show local connects (it just makes SENSE)
if (user->fd > -1)
WriteOpers("*** Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason);
{
whowas_hash::iterator iter = whowas.find(u->nick);
WhoWasUser *a = new WhoWasUser();
- strlcpy(a->nick,u->nick,NICKMAX);
+ strlcpy(a->nick,u->nick,NICKMAX-1);
strlcpy(a->ident,u->ident,IDENTMAX);
strlcpy(a->dhost,u->dhost,160);
strlcpy(a->host,u->host,160);
log(DEBUG,"AddClient: %d %d %s",socket,port,ipaddr);
clientlist[tempnick]->fd = socket;
- strlcpy(clientlist[tempnick]->nick, tn2,NICKMAX);
+ strlcpy(clientlist[tempnick]->nick, tn2,NICKMAX-1);
/* We don't know the host yet, dns lookup could still be going on,
* so instead we just put the ip address here, for now.
*/