X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fsend.c;h=1afbaec34ccf12c7a2ebfb791c8aa704f9994729;hb=5cb589f0d191e85b9bb5d8ec275b6a0db81096ed;hp=728edaa32a216866085c7ced6f8407e8da590389;hpb=249e8affce9be87c42baee9571bfb01756159242;p=ircu2.10.12-pk.git diff --git a/ircd/send.c b/ircd/send.c index 728edaa..1afbaec 100644 --- a/ircd/send.c +++ b/ircd/send.c @@ -669,6 +669,7 @@ void sendwallto_group_butone(struct Client *from, int type, struct Client *one, struct DLink *lp; char *prefix=NULL; char *tok=NULL; + int his_wallops; int i; vd.vd_format = pattern; @@ -695,15 +696,15 @@ void sendwallto_group_butone(struct Client *from, int type, struct Client *one, va_end(vd.vd_args); /* send buffer along! */ + his_wallops = feature_bool(FEAT_HIS_WALLOPS); for (i = 0; i <= HighestFd; i++) { if (!(cptr = LocalClientArray[i]) || (cli_fd(cli_from(cptr)) < 0) || - (type == WALL_DESYNCH && !HasFlag(cptr, FLAG_DEBUG)) || + (type == WALL_DESYNCH && !SendDebug(cptr)) || (type == WALL_WALLOPS && - (!HasFlag(cptr, FLAG_WALLOP) || (feature_bool(FEAT_HIS_WALLOPS) && - !IsAnOper(cptr)))) || - (type == WALL_WALLUSERS && !HasFlag(cptr, FLAG_WALLOP))) + (!SendWallops(cptr) || (his_wallops && !IsAnOper(cptr)))) || + (type == WALL_WALLUSERS && !SendWallops(cptr))) continue; /* skip it */ send_buffer(cptr, mb, 1); } @@ -760,9 +761,9 @@ void sendcmdto_match_butone(struct Client *from, const char *cmd, /* send buffer along */ bump_sentalong(one); for (cptr = GlobalClientList; cptr; cptr = cli_next(cptr)) { - if (!IsRegistered(cptr) || IsServer(cptr) || - !match_it(from, cptr, to, who) || cli_fd(cli_from(cptr)) < 0 || - cli_sentalong(cptr) == sentalong_marker) + if (!IsRegistered(cptr) || IsServer(cptr) || cli_fd(cli_from(cptr)) < 0 || + cli_sentalong(cptr) == sentalong_marker || + !match_it(from, cptr, to, who)) continue; /* skip it */ cli_sentalong(cptr) = sentalong_marker;