1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-03 20:03:12 +02:00

- Added /who *.host.com support (ircop only), this was already possible via /who -h <host>

but most ppl expect it to work this way too.
This commit is contained in:
Bram Matthys
2003-02-18 22:29:40 +00:00
parent 4a7cef66dd
commit eb7333c874
2 changed files with 24 additions and 3 deletions
+2
View File
@@ -1924,3 +1924,5 @@ seen. gmtime warning still there
- Fixed some case insensitive checks in configfile parsing, fixed to be case sensitive.
- Module changes: added two hooks: HOOKTYPE_USERMSG and HOOKTYPE_CHANMSG, changed umode_get.
- Fixed bug with chmode +u: Quits/nick changes of other users were shown.
- Added /who *.host.com support (ircop only), this was already possible via /who -h <host>
but most ppl expect it to work this way too.
+22 -3
View File
@@ -667,6 +667,8 @@ static void make_who_status(aClient *sptr, aClient *acptr, aChannel *channel,
static void do_other_who(aClient *sptr, char *mask)
{
int oper = IsAnOper(sptr);
/* wildcard? */
if (strchr(mask, '*') || strchr(mask, '?'))
{
@@ -682,9 +684,26 @@ static void do_other_who(aClient *sptr, char *mask)
char *channel;
int flg;
if (match(mask, acptr->name))
continue;
if (!oper) {
if (match(mask, acptr->name))
continue;
} else {
/* I could have done this with chinese logic, but I prefered
* to do it a bit more clean (ahem :P), like this. -- Syzop
*/
if (!match(mask, acptr->name))
goto matchok;
if (!oper)
continue;
if (!acptr->user)
continue;
if (!match(mask, acptr->user->realhost))
goto matchok;
if (IsHidden(acptr) && !match(mask, acptr->user->virthost))
goto matchok;
continue;
matchok:
}
if ((cansee = can_see(sptr, acptr, NULL)) & WHO_CANTSEE)
continue;