sendq = "";
chans.clear();
invites.clear();
+ chans.resize(MAXCHANS);
+ for (unsigned int n = 0; n < MAXCHANS; n++)
+ {
+ ucrec* x = new ucrec();
+ chans[n] = x;
+ x->channel = NULL;
+ x->uc_modes = 0;
+ }
}
userrec::~userrec()
{
+ for (std::vector<ucrec*>::iterator n = chans.begin(); n != chans.end(); n++)
+ {
+ ucrec* x = (ucrec*)*n;
+ delete x;
+ }
}
void userrec::MakeHost(char* nhost)
}
else
{
- if (iter->size() > 10)
+ whowas_set* group = (whowas_set*)iter->second;
+ if (group->size() > 10)
{
- iter->pop_front();
+ WhoWasGroup *a = (WhoWasGroup*)*(group->begin());
+ delete a;
+ group->pop_front();
}
WhoWasGroup *a = new WhoWasGroup(u);
- iter->push_back(a);
+ group->push_back(a);
}
}
{
for (whowas_users::iterator iter = whowas.begin(); iter != whowas.end(); iter++)
{
- whowas_set* n = (whowas_set*)iter;
+ whowas_set* n = (whowas_set*)iter->second;
if (n->size())
{
- while ((n->begin() != n->end()) && (n->begin()->signon < TIME - 259200)) // 3 days
+ while ((n->begin() != n->end()) && ((*n->begin())->signon < TIME - 259200)) // 3 days
{
WhoWasGroup *a = *(n->begin());
delete a;
clientlist[tempnick]->sendqmax = class_sqmax;
clientlist[tempnick]->recvqmax = class_rqmax;
- ucrec a;
- a.channel = NULL;
- a.uc_modes = 0;
- clientlist[tempnick]->chans.resize(MAXCHANS);
-
fd_ref_table[socket] = clientlist[tempnick];
local_users.push_back(clientlist[tempnick]);