extern time_t TIME;
extern user_hash clientlist;
extern chan_hash chanlist;
-extern whowas_hash whowas;
extern std::vector<userrec*> all_opers;
extern std::vector<userrec*> local_users;
extern userrec* fd_ref_table[MAX_DESCRIPTORS];
{
char Return[MAXBUF],junk[MAXBUF];
snprintf(Return,MAXBUF,"302 %s :",user->nick);
+
for (int i = 0; i < pcnt; i++)
{
userrec *u = Find(parameters[i]);
- if (u)
+ if(u)
{
- if (strchr(u->modes,'o'))
- {
- snprintf(junk,MAXBUF,"%s*=+%s@%s ",u->nick,u->ident,u->host);
- strlcat(Return,junk,MAXBUF);
- }
+ if(*u->oper)
+ if(*user->oper)
+ snprintf(junk,MAXBUF,"%s*=+%s@%s ",u->nick,u->ident,u->host);
+ else
+ snprintf(junk,MAXBUF,"%s*=+%s@%s ",u->nick,u->ident,u->dhost);
else
- {
- snprintf(junk,MAXBUF,"%s=+%s@%s ",u->nick,u->ident,u->host);
- strlcat(Return,junk,MAXBUF);
- }
+ if(*user->oper)
+ snprintf(junk,MAXBUF,"%s=+%s@%s ",u->nick,u->ident,u->host);
+ else
+ snprintf(junk,MAXBUF,"%s=+%s@%s ",u->nick,u->ident,u->dhost);
+
+ strlcat(Return,junk,MAXBUF);
}
}
WriteServ(user->fd,Return);