clientlist[tempnick]->registered = 7;
clientlist[tempnick]->signon = age;
strlcpy(clientlist[tempnick]->modes, modes.c_str(),53);
+ for (char *v = clientlist[tempnick]->modes; *v; v++)
+ {
+ switch (*v)
+ {
+ case 'i':
+ clientlist[tempnick]->modebits |= UM_INVISIBLE;
+ break;
+ case 'w':
+ clientlist[tempnick]->modebits |= UM_WALLOPS;
+ break;
+ case 's':
+ clientlist[tempnick]->modebits |= UM_SERVERNOTICE;
+ break;
+ default:
+ break;
+ }
+ }
inet_aton(params[6].c_str(),&clientlist[tempnick]->ip4);
- ucrec a;
- a.channel = NULL;
- a.uc_modes = 0;
- clientlist[tempnick]->chans.resize(MAXCHANS);
-
WriteOpers("*** Client connecting at %s: %s!%s@%s [%s]",clientlist[tempnick]->server,clientlist[tempnick]->nick,clientlist[tempnick]->ident,clientlist[tempnick]->host,(char*)inet_ntoa(clientlist[tempnick]->ip4));
params[7] = ":" + params[7];
void HandleLusers(char** parameters, int pcnt, userrec* user)
{
+ unsigned int n_users = usercnt();
+
/* Only update these when someone wants to see them, more efficient */
if ((unsigned int)local_count() > max_local)
max_local = local_count();
- if (clientlist.size() > max_global)
- max_global = clientlist.size();
+ if (n_users > max_global)
+ max_global = n_users;
- WriteServ(user->fd,"251 %s :There are %d users and %d invisible on %d servers",user->nick,usercnt()-usercount_invisible(),usercount_invisible(),this->CountServs());
+ WriteServ(user->fd,"251 %s :There are %d users and %d invisible on %d servers",user->nick,n_users-usercount_invisible(),usercount_invisible(),this->CountServs());
WriteServ(user->fd,"252 %s %d :operator(s) online",user->nick,usercount_opers());
WriteServ(user->fd,"253 %s %d :unknown connections",user->nick,usercount_unknown());
WriteServ(user->fd,"254 %s %d :channels formed",user->nick,chancount());
WriteServ(user->fd,"254 %s :I have %d clients and %d servers",user->nick,local_count(),this->CountLocalServs());
WriteServ(user->fd,"265 %s :Current Local Users: %d Max: %d",user->nick,local_count(),max_local);
- WriteServ(user->fd,"266 %s :Current Global Users: %d Max: %d",user->nick,usercnt(),max_global);
+ WriteServ(user->fd,"266 %s :Current Global Users: %d Max: %d",user->nick,n_users,max_global);
return;
}